web-dev-qa-db-ja.com

Solaris / UNIX:スヌープはネットワークトラフィックを遅くする可能性がありますか?

これが私の見方です。

ネットワークアクティビティのコピーがバッファに書き込まれ、snoopがバッファから読み取ります。 snoopがデータを十分に高速に取得できる限り(ファイルへの直接書き込みは、ターミナルまたはbziperへの書き込みよりも高速です)、バッファーがいっぱいになることはありません。

ただし、大量のネットワークアクティビティがあり、snoopが(何らかの理由で)受信時に高速に書き出すことができない場合、snoopは待機する必要があるため、元のバッファいっぱいになります。

バッファが大きくなるとどうなりますか?

  • 最大スループットを優先して、バッファは無期限に大きくなります。 :-/
  • メモリ使用量を少なくするために、一部のデータが除外される場合があります。 :-o
  • 安定した結果を優先して、ネットワークI/Oは、バッファーに空きができるまでボトルネックになります。 B-)

私は特にSolarisに興味がありますが、他のUNIXシステムに関する情報も興味深いでしょう。

2
Bryan Field

パケットは、アクティビティが多いときに遅延しないように、スヌープによってドロップされると思います。

Snoopは、キャプチャ中にドロップされたパケットの数を表示する-Dスイッチを提供します。

-s snaplenスイッチを使用すると、snaplenバイトの後にパケットキャプチャを切り捨てることができ、トラフィックが多い期間にバッファオーバーフローが発生する可能性が低くなります。

マニュアルページの警告セクションにもこれが記載されています

リアルタイムのパケット解釈では、処理のオーバーヘッドがはるかに高くなります。その結果、パケットドロップカウントが高くなる可能性があります。より信頼性の高いキャプチャを行うには、-oオプションを使用して生のパケットをファイルに出力し、パケットをオフラインで分析します。

2
user9517