web-dev-qa-db-ja.com

Windows Server 2008R2のTXおよびRXバッファーの数

BroadcomとIntelNICの両方で、送信バッファーと受信バッファーの数を調整できることに気付きました(バッファーの数が多いほど、メモリ使用量が多くなります)。

これらのバッファはどのように機能しますか:

  • それらのサイズは何ですか?
  • バッファとTCPまたはイーサネットセッション(存在する場合))との関係は何ですか?(つまり、セッションごとに1つのバッファまたはバッファのプール?)
3
Kyle Brandt

RXおよびTXバッファーは、通常、1つのイーサネットフレームに相当します。 RXバッファカウントを512に設定した場合、ドライバは512イーサネットフレームを処理するのに十分なバッファを確保します。 NICが異なると、異なるバッファ記述子データ構造を使用するため、メモリの量はわずかに異なりますが、一般に、必要なメモリの量を見積もるには、バッファサイズにMTUを掛ける必要があります。

デイブ

2
Dave

さて、一般的に、より多くがより良いことを示すネットワークカードバッファに関するいくつかのアドバイスがあります:

http://book.opensourceproject.org.cn/sysadmin/Apache/apachetomcat/opensource/090.html

Webサーバーのネットワークインターフェイスカードの受信バッファを最大に設定します。これにより、ドロップされるパケットの数が減り、TCP再送信が減ります。このパラメータは、[スタート]、[設定]、[コントロールパネル]、[ネットワークとダイヤルアップ接続]の順に移動して設定できます。通常はローカルと呼ばれるアクティブなLAN接続を選択します。エリア接続。右クリックして[プロパティ]を選択します。[ネットワークインターフェイスカード]の横にある[構成]ボタンをクリックします。受信バッファを最大値1024に設定します。

.。

上記を行う際のトレードオフについて疑問に思われるかもしれません。トレードオフは、オペレーティングシステムがNIC受信バッファとユーザーポートにさらに多くのメモリを割り当てる必要があることです。

2
Jeff Atwood

コードにアクセスできる場合は、特にWindowsで役立つSO_RCVBUFオプションもあります。

ところで、誰かがNIC対SO_RCVBUFオプションからのRXバッファの関係は何ですか?(WskControlSocket/getsockopt)

0
kuroueie