これが私のシナリオです:
- ワークステーション 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
表示された提案を試してくださいここ
- 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 接続で高いスループットを維持できるほど大きくなりません。
- 9K ジャンボ フレームを有効にします (有効にしないという人もいれば、有効にすると言う人もいます... 実際にはハードウェアに依存するため、両方の方法でテストしてください)。
私のハードウェアでは、ジャンボ フレームを有効にすることが重要でした。IRQ 合体設定にも特に注意してください。