LAN用のWindows 7ネットワークパフォーマンスチューニング


8

Windows 7 TCPスタックをLAN環境の速度に合わせて調整したい。

背景情報:Windows 2008R2、Windows 7、およびCitrixカーネルを備えたDebian LennyでCitrix XenServerをセットアップしました。Windowsマシンには、iperfサーバープロセスが異なるホストで実行されているツールがインストールされています。DebianLenny も同様です。それ以外の場合、サーバーはアイドル状態であり、テストを数回繰り返して結果を確認しました。

iperf2008R2でのテストでは、これまで何も調整しなくても約600〜700 Mbpsを達成できますが、Windows 7が-wへのパラメーターを使用してTCPウィンドウサイズを変更せずに150 Mbps以上を達成できるようにするガイドやパラメーターセットは見つかりませんiperf

私が使ってみましたnetsh autotuiningdisabledexperimentalnormalおよびhighlyrestricted変更なし- 。およびとcongestionprovider同様に、変更しても何も起こりません。rsschimney

利用可能なすべての設定をWindows 2008R2ホストと同じ値に設定しても、効果はありません。

要約する:

  • Windows 2008R2のデフォルト設定:600〜700Mbps
  • Debian、デフォルト設定:600Mbps
  • Windows 7のデフォルト設定:120Mbps
  • Windows 7のデフォルトiperf -w 65536:400-500Mbps

パフォーマンスの400Mbpsがないため、XenServerホストの壊れやすいRealtek NICのせいです(ラップトップからiperfサーバーで最大980Mbpsを実行できます)。ウィンドウサイズを手動で調整しないとWindows 7が優れたパフォーマンスを達成できない理由は説明されていませんアプリケーションレベル。

それでは、Windows 7をチューニングする方法は?

回答:



2

Windows 2008R2とWindows 7では異なるネットワークドライバーである可能性があります。また、xenserverは常にWindows 2008R2とWindows 7に同じ仮想NICを提供しますか?なぜなら、それが異なると、別のドライバーがロードされるからです。

いくつかのパフォーマンスの違いがあるかもしれません。

編集:Windows 7のデフォルトの送信/受信バッファーは非常に小さいことを思い出しました。私が開発していたいくつかのアプリで、Windows 7では8kBのような哀れなものであることがわかりました。ubuntu linuxでは、約120kBです。制限が64kBであることをどこかで読むかもしれません。これは、それ以降のバージョンのウィンドウでは実際には正しくありません。私はそれが1MB以上にも設定できることを発見しました。ただし、このサイズが大きいと、パフォーマンスの向上はほとんど見られません。

このリンクは、システム全体に適用されるレジストリ内のいくつかのtcp調整パラメーターを提供します。これらのオプションの多くは、アプリケーション自体によって上書きされる可能性があることに注意してください。

http://www.psc.edu/networking/projects/tcptune/ http://www.psc.edu/networking/projects/tcptune/OStune/winxp/winxp_stepbystep.html

ウィンドウサイズと送信/受信バッファを増やしてみてください。リンクのこれらのレジストリ設定がWindows 7にも適用されることを願っています。


次に、TCPウィンドウを大きく設定すると速度が上がるのはなぜですか?そして、いいえ、XenServerは提示されたNICを変更しません。
Hubert

私はこれが理由かもしれないとだけ述べていました。私は開発者です。たまたま、データの負荷をほぼギガビットの速度でプッシュするアプリケーションを開発しています。ただし、virtualboxでの開発では、さまざまなNICドライバーでのパフォーマンスの違いを発見しました。はい、TCPウィンドウを増やすと、ack返信パケットが少なくなるため、スループットが向上します。Xenの他のすべてのVMをシャットダウンして、Windowsだけがそれを使用していることを確認しましたか?
マット

Xenホストでのネットワークの通常の使用量は60〜90KiB / s未満です。ドライバーをチェックすると、同じものがロードされます。補足として、XenとVirtualboxは完全に異なるハイパーバイザーで、1つはタイプ1、2つ目はタイプ2です。さらに、ベアメタルインストールで同じパフォーマンスの問題が発生しました。ハードウェアの問題を除外するために、仮想化について主に説明しました。
Hubert Kario

何かを思い出しました。主な回答の詳細。
マット


1

通常、TCPオートチューニング(すでに除外されています)、MTU、およびMMCS(マルチメディアクラススケジューリング)は大きな違いです。MMCSはまだ対処されていないので、MMCSを無効にしてみてください。

LAN速度またはそれに近い速度の場合は、tcpウィンドウの自動スケーリングが無効になっていることを確認してください。

手順はここにあります:http : //smallvoid.com/article/winnt-services-mmcss.html


変更したかどうかはわかりませんが(変更後6か月以上経過しているため)、将来性があるようです。
Hubert Kario、2011

あまり役に立たなかったため、パフォーマンスが約10〜20%向上しました。
Hubert Kario、2011

0

Windows内のRealtekドライバーがCitrix XenServer上の仮想マシンとして表示されないはずです。その場合、XenToolsがインストールされていないことになります。ご覧のRealtek NICは、Dom 0(ドメイン0)内のQEMUサービスによって提供されるエミュレートされたNICです。Windows OSのインストール後、特にアプリケーションのインストールを行う前に、XenToolsをインストールする必要があります。また、仮想デバイスの速度に制限がないため、XenToolsのインストール後に速度がハードコードされます(VMユーザーガイドに記載されています)。


1
冒頭の質問から:「XenServer ホストの Realtek NIC 」
Hubert Kario
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.