1000 Mbit / sネットワークで300-400 Mbit / sしか取得できないのはなぜですか?


17

私のセットアップは次のようなものです。

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

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

回答:


11

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

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

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

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

私があなただったら、次のテストは「十分に長い」CAT6クロスオーバーパッチケーブルを手に入れ、ノートブックをPCに直接配線することです(多くのNICが自動をサポートしているため、ストレートケーブルで逃げることができるかもしれません-最近のクロスオーバー)。

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


ギガビットクロスオーバーケーブルを作成するための2つの可能なピン配置については、en.wikipedia.org / wiki /…を参照してください。
-eleven81

確かに良い情報。この場合、ユーザーがケーブルの作成に慣れておらず、目標がスローダウンの可能性を排除することである場合は、おそらく工場製のケーブルを使用する方が良いでしょう。ゆるいクリンプほど悪いことはありません。;)
Ƭᴇcʜιᴇ00710年

14
参考までに、ギガビットイーサネットを使用すると、クロスオーバーケーブルは不要になります。すべてのギガビットイーサネットコントローラーはケーブルを「自動検知」できる必要があるため、標準ケーブルを使用してギガビットイーサネットデバイスに接続できます。ラップトップをデスクトップに直接接続して、違いがあるかどうかを確認します。
-davr

@davr成功できますか?
ebrahim.mr

8

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

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


それを考えていなかった、私はそれを試してみます。
-davr

1
消費者グレードのハードウェアで飽和させることはありません。通常、CPUはPCIまたはPCI-Expressバスによって制限されます。つまり、CPUはRAMからネットワークカードに十分な速さでデータを移動できません。サーバーグレードのハードウェアのほうが優れているようです。私はプログラマーであり、これをやろうとしてきました。近づいていますが、現在は自分のハードウェアによって制限されています。
マットH

1
私のために働いて、Windows iperfが私に250メガビット/秒を与え、同じマシンで起動されたUbuntuが925メガビット/秒を与える理由を理解しようとして1時間頭を打ちました。Windowsではiperfがデフォルトで8k tcpウィンドウサイズに、Linuxでは88kウィンドウサイズになります。
オムリー

@ Omry、windows上のiperfはいくつかの観点から見た犬です。私はほとんどあきらめて、Linuxでのみiperfを実行しています
マイクペニントン

4

ジェフアトウッドは、ギガビットネットワークの実際のスループットが30 MB / sに近い理由をよく分析しています。(小さな「b」ではなく、大きな「B」)

... 10baseTから100baseTに移行することで達成された完璧なスケーリングを期待すべきではありません。大幅な調整を行わなくても、予想される10倍の帯域幅改善のほんの一部しか得られません


彼が使用している「pcattcp」ツールは、がらくたです。私の900mhz linuxネットブック(おそらく2005年のマシンと同じくらい速いでしょう)は、300MB / sのループバックを行います。
-user23307

確かに、iperfはpcattcpよりもループバックのパフォーマンスが顕著に優れています。より良い他の何かを聞いていない限り、私は今のところテストのためにiperfに固執します。
-davr

1
また、私はすでに彼の240メガビットよりも高くなっており、その記事は5年前なので、それ以降は技術がどのように大きく進歩すべきかを考えれば、それほど重要ではないと思います。
-davr

ループバックインターフェイスが仮想的であること(ネットワークカードに何も転送されないこと)を考えると、はるかに優れたパフォーマンスが期待できます(基本的には、処理するプロセスであり、HDDには触れません)。ループバックインターフェイスで8.09 Gbit / s(1035Mbytes / s)を取得しています。
マットH

3

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


ほとんどのアプリケーションでは、この増加はそれほど劇的ではありません。これにより、パケットあたりのTCPまたはUDPプロトコルのオーバーヘッドが少なくなります。また、最良の結果を得るには、スイッチ/ルーターもジャンボフレームをサポートする必要があります。私は彼の意志を疑います。
マットH

以下のために任意の結果、あなたのスイッチは、ジャンボフレームをサポートする必要があります。L2専用デバイスが「パケットが大きすぎる」ICMPエラーを送り返して、より小さいパケットサイズを使用する必要があることをマシンに伝える方法はありません。
cpt_fink 14年

1

ルーターを使用していると言いましたか?それは市販の消費者グレードのルーター(スイッチではない)ですか?

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

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

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

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

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

あなたにアイデアを与えるために、あなたは私が650Mbit / s以上だと思うだろうと思うはずです。iperfは、指示がない限りハードドライブを使用しません。だから、メモリからメモリまたは実際にネットワークをテストしています。

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

また、消費者グレードのスイッチは多くの場合、2つのポート間で1GBのスイッチングのみに対応できますが、ハイエンドのマネージドスイッチはすべてのポートでワイヤ速度で同時に切り替えることができます。それが彼らがこれほど費用がかかる理由の一部です。


1

多数のテストを実行しましたが、結果はオペレーティングシステムにまで及びました。

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リンクの理論的な速度を超えました。


情報をお
寄せ

これはiperfのは、Linuxよりも小さいパケットサイズデフォルトは、見ているのWindowsの一部だけではない場合、私は思ってしまうsuperuser.com/a/95587/16966
マットウィルキー

0

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

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


2
だからこそ、私は「iperf」に言及しましたが、それはツールの一般的なものではないと思います。基本的には、ハードドライブの読み取り/書き込みを行わずにネットワーク速度を直接テストするため、ボトルネックにはなりません。ただし、HDDは実際の使用においてボトルネックになる可能性があることを認識しています。
-davr

0

あなたの質問に対する直接的な答えではありませんが、最近iperf2つのLinuxボックス(8コア、それぞれ2.66 GHz)で次の結果が得られました。

------------------------------------------------------------
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)。

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


1〜2年前のデスクトップハードウェアで500または600 mbits / sを超えるはずです。
マットH

-4

davr、洗練された帯域幅割り当て方式を使用するファイバーチャネルおよび類似の技術とは異なり、イーサネットは「リッスンアンドスコーク」プロトコルです。イーサネットは、誰かが現在送信している場合は最初にリッスンし、そうでない場合は送信します。問題は、送信を希望する複数のパーティが同時にリッスンしている場合、同時に送信することです!これにより、衝突が発生し、再送信されます。派手なスイッチはこれの多くを排除しますが、すべてではありません。

イーサネットを使用すると、ファブリックテクノロジーで多くの衝突が発生する前に、約30〜40%の帯域幅(これを取得しているように見えます。 80%のようなもの。イーサネットは安価ですが、ファイバーチャネルはそうではありません。。。これを回避するために4Gイーサネットが何をするのかわかりません。。。ファイバーチャネルや友人に似たネットワークトポロジのような、より「ファブリック」なものがあります。これは単純化しすぎですが、本質的には正しいです。


2
ええ、私は「ダム」ハブを使用していません。最近のほとんどの人は、デバイスを相互に直接接続して衝突をなくすインテリジェントスイッチまたはルーターを使用すると思います。また、私のテストでは、単一のルーターに接続された2つのデバイスのみが関係するため、特定のケースでは衝突は問題になりません。
-davr

davr-しばらくの間、悪魔の擁護者を演じている間言い訳。。。2人のホストが同時に会話しようとするのを防ぐものは何ですか?また、どのようなデータが送信されているかについても言及しませんでした。。。それはほとんど排他的にTCPですか、それとも大量のデータストリーミング(オーディオ、ビデオなど)がありますか?両方のコンピューターが同時にデータをストリーミングしていますか、またはより正確に境界を定められたクライアント/サーバー関係がありますか?
TheEruditeTroglodyte

2
私は、1台のコンピューターのみが送信し、他のコンピューターがリッスンする特別なTCP / IPベンチマークプログラムを使用しています。それでも、イーサネットは全二重です。マシンが2台しかない場合、それらは同時に全帯域幅を送受信できます。
-davr
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.