web-dev-qa-db-ja.com

1000 Mbit / sネットワークで300〜400 Mbit / sしか得られないのはなぜですか?

私の設定は次のとおりです:

ラップトップ<->ルーター<->デスクトップ

それらはすべてギガビットイーサネットをサポートします。ラップトップとデスクトップで「iperf」TCP/IPベンチマークを使用しており、生のスループットが400 Mbit/sを超えることはありません。ラップトップはWindows XPを実行しているIntel Core 2 Duo 2 GHzであり、デスクトップはWindows 7を実行しているIntel Core 2 quad 2.4 GHzです。それらの間のネットワーク速度を最大化するために何を見ることができますか?ソフトウェア設定?ケーブルが仕様を満たしていないかどうかを知る方法は?いずれかのデバイスのギガビットイーサネットコントローラーが最大速度に達していないかどうかを知る方法は?

17
davr

1 Gbit/sは、この接続の理論上の最大値です。

これには多くのことが影響します。

ネットワークトラフィックを処理するためにCPUに依存するホストベースのアダプター(デバイスの説明「ラップトップ」および「デスクトップ」に基づく)が最も可能性が高いため、オンボードNICからのパフォーマンスのヒットを期待します。したがって、速度はCPUが他のことを実行することによって影響を受けます(たとえば、データをHDDからネットワークサブシステムに取得するなど)。

また、「ルーター」が何であるかによっては、LANポートからLANポートに渡されるときにデータを処理しようとしている可能性があるため、その「ポート」の速度に関係なく、その処理速度もデータ転送速度に影響を与える可能性がありますあります。

私があなただったら、次のテストは、自分に「十分な長さ」のCAT6クロスオーバーパッチケーブルを用意して、ノートブックをPCに直接配線することです(多くのNICがサポートしているので、ストレートケーブルで回避できる場合があります) -最近のクロスオーバー)。

そうすれば、(少なくとも)ルーター(および/または既存の配線)をボトルネックとしてかなり簡単に排除または特定できます。

11

iperfはデフォルトでかなり小さなウィンドウサイズを使用します。

ウィンドウを大きくするか、UDPモードで実行すると、1 Gbit/s接続が簡単に飽和します。

8
user23307

ジェフ・アトウッドには、ギガビットネットワークの実際のスループットが30MB/sに近いという理由でいくつかの 優れた分析 があります。 (大きい「B」、小さい「b」ではない)

...間違いなく、10baseTから100baseTへの完全なスケーリングを期待するべきではありません。大幅な調整を行わないと、予想される10倍の帯域幅改善のほんの一部しか得られません。

4
JMD

すべてがギガビットである場合、 ジャンボフレームを有効にする を試すことができます。私の友人の1人が自宅のコンピュータでこれを行ったところ、スループットが大幅に増加していることに気付きました。ただし、記事で述べたように、VOIPなどの低遅延アプリケーションにはいくつかの欠点があります。

3
rob

私たちは数多くのテストを実行しましたが、それはオペレーティングシステムに要約されました。

Ubuntu 11.04からUbuntu 11.04に移行する場合(LinuxマシンのCentOSと同じ)、速度スループットは〜938-941 MBits/s定数です。 Windows 7 x64 SP1 UltimateからUbuntu 11.04に移行する場合、440〜475 MBits/sです。 Windows 2008 R2SP1 x64からUbuntu 11.04に移行すると、速度は約435〜635 MBits/sになります。

ご覧のとおり、LinuxベースのマシンはWindowsと比較してギガビットリンクを完全に利用しています。現在、同じハードウェアでLinuxと同じスループットが得られるWindowsの設定を調査しています。これはメモリ内にあるため、ハードドライブの制限は要因ではありません。記録のために、使用したマシンにはSATA 3.0を搭載した7200 RPMドライブがありました。 Ubuntu 11.04(またはLinuxベース)とWindowsの両方が、これらのSATAリンクの理論上の速度を超えました。

1
Accends

ルーターを使用していると言いましたか?それは既製の消費者向けルーター(スイッチではない)ですか?

それはおそらくあなたのボトルネックだと思います。これを確認するには、ラップトップをデスクトップに直接接続します。 192.168.1.10(ラップトップ)、192.168.1.11(デスクトップ)などの静的IPアドレスを使用するようにラップトップとデスクトップを設定します。

これにより、ラップトップがデスクトップと直接通信できるようになります。それらの間でiperfを実行し、結果をここに報告します。

クロスケーブルを構築する必要があった昔とは異なり、ほとんどの最新のネットワークカードは送信/受信線を自動検知できるため、これは機能するはずです。

著しい増加が見られる場合は、ルーターが原因です。一部には背面にスイッチがあり、他のポートは実際にポート間をルーティングできます。これらのルーターの多くはひどいパフォーマーです。これが問題であることがわかった場合は、ルーターをアップグレードするか(おそらくインターネットで使用するには問題ありません)、GigEスイッチを購入してルータースイッチにカスケード接続します。ノートパソコンとデスクトップをスイッチに接続します。このようにして、ルーターをバイパスして互いに通信します。

実験が完了したら、ラップトップとデスクトップをDHCPに戻してください。

あなたにアイデアを与えるために、あなたは私が650Mビット/秒以上だと思うだろうを得るべきです。 iperfは、指示がない限りハードドライブを使用しません。つまり、メモリ間または実際のネットワークのテストです。

他のボトルネックの1つは、CPUがメモリからネットワークカードにデータを転送する速度です。 PCI Express上にあるネットワークは、より適切に動作するようです。最近のラップトップは一般にかなり安価に構築されていると思うので、それ以上が見られない場合は、これがもう1つのボトルネックになる可能性があります。

また、コンシューマーグレードのスイッチは、多くの場合、任意の2つのポート間で1GBのスイッチングしか処理できませんが、ハイエンドのマネージドスイッチは、すべてのポートで同時にワイヤスピードでスイッチングできます。それが彼らがそんなに高くつく理由の一部です。

1
Matt H

あなたの質問への直接の回答ではありませんが、最近、2つのLinuxボックス(8コア、それぞれ2.66 GHz)間でiperfの結果が得られました。

------------------------------------------------------------
Client connecting to 192.168.74.15, TCP port 5001
TCP window size:  192 KByte (default)
------------------------------------------------------------
[  3] local 192.168.74.25 port 54016 connected with 192.168.74.15 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.10 GBytes   941 Mbits/sec

mTU = 1500(つまり、ジャンボフレームを使用しない)。これにより、原則として可能なパフォーマンスがわかります。

ネットワークカード(lspci出力)は次のとおりです。

82571EB Gigabit Ethernet Controller

両側に。

サーバー、特にクライアント側のCPU負荷をチェックして、これが100%に近いかどうかを確認することができます。私たちのシステムでは、最もビジーなコアはレシーバー(センダー)側で80%(83%)アイドルであり、他の7つは100%アイドル(mpstatで確認)のようです。

これは-uオプションなしでiperfを実行しています。つまり、これはTCPを使用します。

0
Andre Holzner

転送速度は、チェーン内の最も弱いリンクと同じくらい良好です。ネットワーク速度ではなく、ハードドライブの書き込み/読み取り速度である可能性があります。

RamDisk ソフトウェアをダウンロードして、両方のコンピューターでRamDiskを作成できます。その中に適切なサイズのファイルを置き、RamDisk間でネットワークを介して転送を行います。これにより、ハードドライブの速度によってボトルネックにならないネットワークの実際の速度が表示されます。

0
Marcin