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

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

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

- ワークステーション 1: CPU i7-3770 / 16GB ram / Gigabyte Z77-D3H マザーボード / Crucial CT256MX100SSD1 システム ディスク / ネットワーク アダプター intel X540-T1 / Windows 7 64 ビット - ワークステーション 2: CPU i7-950 / 12GB ram / ASUS P6X58D-E マザーボード / Crucial CT256MX100SSD1 システム ディスク / ネットワーク アダプター intel X540-T1 / Windows 7 64 ビット
- スイッチャー HP Procurve 2920 (2 つのダブル 10 ギガビット イーサネット拡張カード付き)。

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

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

-ワークステーション1: iperf -s
-ワークステーション2: iperf -c<workstation1 ip>

10Gbit/秒ではなく、約 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   


##### 合計: #####


バイト数(MEG) リアルタイム 平均フレームサイズ スループット(MB/秒)    
=========== ============ ============== ===================  
5179.250000 15.000 1459.696 345.283   


>スループット(バッファ/秒) サイクル/バイトバッファ    
====================== =============== =============    
      2762.267 6.912 41434.000    


>DPC(カウント/秒) パケット(数/DPC) 割り込み(カウント/秒) パケット(数/割り込み)   
============= ============== =============== =================   
    13668.933 1.633 22030.933 1.013   



>送信パケット数 受信パケット数 再送信エラー数 平均CPU使用率    
============= ================ ============ ======= ===========    
     3720525 334723 4364 0 10.179  

答え1

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

  1. RSS (受信側スケーリング)、LSO (大規模送信/セグメント オフロード)、TCP ウィンドウ スケーリング (自動チューニング)、TCP Chimney (Windows の場合)、オプションで RSC (受信側結合) が適切にセットアップされ、構成されている必要があります。

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

ハイパースレッディング付きの 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 によって受信され、1 つの大きなパケットにされて OS に送信されます。受信側のプロセッサ オーバーヘッドが削減されます。

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

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

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

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

関連情報