RAWソケットベースのパケット送信テスト中に、非常に苛立たしい症状が見つかりました。デフォルトのRAWソケット設定(特にSO_SNDBUFサイズの場合)では、rawソケットは問題なく100,000パケットを送信しますが、すべてのパケットを送信するのに約8秒かかり、パケットはレシーバープロセスによって正しく受信されます。これは、デフォルト設定で約10,000 pps(パケット/秒)が達成されることを意味します。(予想に反して小さすぎると思います。)
とにかく、pps値を増やすために、/ proc / sys / net / core / {wmem_max、wmem_default}を調整して、パケット送信バッファーサイズを増やしました。2つのシステムパラメータを増やした後、私は刺激的な症状を特定しました。100,000パケットはすぐに送信されますが、受信プロセス(リモートノードにある)によって受信されるのは3,000パケットだけです。
Linuxボックス(Centos 5.2)の送信時に、netstat-a-sとifconfigを実行しました。Netstatは、100,000の要求が送信されたことを示しましたが、ifconfigは、3,000のパケットのみがTXされていることを示しています。
これが発生する理由を知りたいです。また、この問題をどのように解決できるかも知りたいです(もちろん、それが本当に問題であるかどうかはわかりません)。
誰かが私にこの問題へのアドバイス、例、または参照を与えることができますか?
よろしく、bjlee