BroadcomとIntelNICの両方で、送信バッファーと受信バッファーの数を調整できることに気付きました(バッファーの数が多いほど、メモリ使用量が多くなります)。
これらのバッファはどのように機能しますか:
RXおよびTXバッファーは、通常、1つのイーサネットフレームに相当します。 RXバッファカウントを512に設定した場合、ドライバは512イーサネットフレームを処理するのに十分なバッファを確保します。 NICが異なると、異なるバッファ記述子データ構造を使用するため、メモリの量はわずかに異なりますが、一般に、必要なメモリの量を見積もるには、バッファサイズにMTUを掛ける必要があります。
デイブ
さて、一般的に、より多くがより良いことを示すネットワークカードバッファに関するいくつかのアドバイスがあります:
http://book.opensourceproject.org.cn/sysadmin/Apache/apachetomcat/opensource/090.html
Webサーバーのネットワークインターフェイスカードの受信バッファを最大に設定します。これにより、ドロップされるパケットの数が減り、TCP再送信が減ります。このパラメータは、[スタート]、[設定]、[コントロールパネル]、[ネットワークとダイヤルアップ接続]の順に移動して設定できます。通常はローカルと呼ばれるアクティブなLAN接続を選択します。エリア接続。右クリックして[プロパティ]を選択します。[ネットワークインターフェイスカード]の横にある[構成]ボタンをクリックします。受信バッファを最大値1024に設定します。
.。
上記を行う際のトレードオフについて疑問に思われるかもしれません。トレードオフは、オペレーティングシステムがNIC受信バッファとユーザーポートにさらに多くのメモリを割り当てる必要があることです。
コードにアクセスできる場合は、特にWindowsで役立つSO_RCVBUFオプションもあります。
ところで、誰かがNIC対SO_RCVBUFオプションからのRXバッファの関係は何ですか?(WskControlSocket/getsockopt)