web-dev-qa-db-ja.com

Windows7での10GBASE-Tのパフォーマンス

これが私のシナリオです:

-ワークステーション1:CPU i7-3770/16GB ram /ギガバイトZ77-D3Hマザーボード/ Crucial CT256MX100SSD1Sysyemディスク/ネットワークアダプターintelX540-T1/Windows 7 64ビット-Workstation2:CPU i7-950/12GB ram/ASUSP6X58D-Eマザーボード/ Crucial CT256MX100SSD1Sysyemディスク/ネットワークアダプターintelX540-T1/Windows 764ビット
-SwitcherHPは、2枚のダブル10ギガビットイーサネット拡張カードを備えた2920を調達します。

両方のutpケーブルは15メートル未満のCat6であり、各ワークステーションからhpスイッチャーに直接接続されています。両方のネットワークアダプタが10Gbpsでリンクされているように見えます。

Iperfを使用してネットワークパフォーマンスをテストしています。

-workstation1:iperf -s
-workstation2:iperf -c <workstation1 ip>

1秒あたり10Gbitではなく、1秒あたり約1Gbitを取得しています。それで、私が間違っているステップはありますか? Windows 7のネットワーク制限に関する情報はありますか?ありがとう。

更新-NTttcpテスト

C:\NTttcp-v5.28\x64>NTttcp.exe -s -m 8,*,192.168.1.20 -l 128k -a 2 -t 15

著作権バージョン5.28
ネットワークアクティビティが進行中です...

スレッド時間スループット(KB /秒)平均B /完了
 ====== ======= ============ ==== ============= 
 
 0 15.001 38661.956 131072.000 
 1 14.999 38257.484 131072.000 
 2 14.998 53989.065 131072.000 
 3 14.998 38336.845 131072.000 
 4 14.999 38086.806 131072.000 
 5 15.000 37563.733 131072.000 
 6 14.997 56408.082 131072.000 
 7 15.000 52292.267 131072.000 .____。] 
 #####合計:##### 
 
 
 Bytes(MEG)realtime(s)Avg Frame Size Throughput(MB/s)
 =========== =========== ============== ====== ========== 
 5179.250000 15.000 1459.696 345.283 
 
 
> Throughput(Buffers/s)Cycles/Byte Buffers 
 ===================== ============== ========== 
 2762.267 6.9 12 41434.000 
 
 
> DPC(count/s)Pkts(num/DPC)Intr(count/s)Pkts(num/intr)
 === ========== ============= =============== ============ == 
 13668.933 1.633 22030.933 1.013 
 
 
 
>パケット送信受信パケット再送信エラー平均CPU%
 ============= ================ =========== === === ========== 
 3720525 334723 4364 0 10.179 
1
Abraham

示されている提案を試してください ここ

  1. RSS(受信側スケーリング)、LSO(大送信/セグメントオフロード)、TCPウィンドウスケーリング(自動調整)、およびTCP Chimney(Windowsの場合)、オプションでRSC(受信側)が必要です。 Coalescing)は、適切にセットアップおよび構成されています。

最新のプロセッサでさえ、単一のプロセッサコアで10Gb相当の読み取りを処理できないため、RSSは、受信負荷を分散するために、少なくとも4つの物理プロセッサコア(RSSはハイパースレッド論理コアでは機能しません)、場合によっては8つでセットアップする必要があります複数のプロセッサ間で。これは、PowerShell(Windows)を介してSet-NetAdapterRssコマンドレットを使用して実行できます。

hyerpthreadingを使用した4つの物理コアプロシージャのコマンド例(0,2,4,6は物理的、1,3,5,7は論理的....ほぼ経験則)Set-NetAdapterRss -Name ""- NumberOfReceiveQueues 4 -BaseProcessorNumber 0 -MaxProcessorNumber 6 -MaxProcessors 4-Enabled

LSOは、NICドライバーやPowerShellで設定されます。これにより、Windows/Linux /何でも大きなパケット(たとえば64KB-1MB)を作成し、NICハードウェアにデータのMSS値へのセグメント化を処理させることができます。これにより、ホストでのプロセッサ使用率が低下し、ハードウェアでのセグメント化が高速になり、OSの作業が少なくて済むため、転送が高速になります。

RSCは、WindowsまたはLinuxおよびNICに設定されています。これはLSOの反対を行います。小さなチャンクはNICによって受信され、OSに送信される1つの大きなパケットになります。受信側のプロセッサオーバーヘッドを削減します。

TCP Chimneyは1Gbの世界では悪いラップを取得しますが、10Gbの世界では輝いています。 Windows 8 +/2012 +で自動に設定すると、特定の状況下で10Gbネットワークでのみ有効になります。

TCPウィンドウスケーリング(Windowsの世界では自動調整)は絶対に必要です。これがないと、TCPウィンドウは、10Gb接続で高スループットを維持するのに十分な大きさになることはありません。

  1. 9Kジャンボフレームを有効にします(「いいえ」と言う人もいれば、「はい」と言う人もいます...実際にはハードウェアに依存するため、両方の方法でテストしてください)。

私のハードウェアでは、ジャンボフレームを有効にすることが重要でした。 IRQ合体設定にも特に注意してください。

1
shodanshok