web-dev-qa-db-ja.com

なぜこのネットワーク接続はとても遅いのですか?

Ubuntu 9.10を実行しているLinuxサーバーのネットワークパフォーマンス速度に問題があります。すべてのタイプのトラフィックの転送速度は、1000 Mbpsの有線イーサネット接続で約1.5 MB /秒です。このサーバーは、最近のサンバで55MB/sを達成しています。ハードウェアやネットワークの設定は変更していません。私は定期的に更新を実行しており、Ubuntuのリポジトリの最新かつ最高のものがこのマシンで実行されています。

ハードウェアのセットアップ

デスクトップWindows PC-1000スイッチ-1000スイッチ-Linuxサーバー

すべてのスイッチはネットギアであり、接続はすべて1000mbit/sであることを意味する緑色のライトで示されます。接続がわずか100mbit/sの場合、ライトは黄色になります。その他の診断情報:

root@server:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0c:6e:3e:ae:36
          inet addr:192.168.1.30  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:6eff:fe3e:ae36/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:28678 errors:0 dropped:0 overruns:0 frame:0
          TX packets:73531 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2109780 (2.1 MB)  TX bytes:111039729 (111.0 MB)
          Interrupt:22

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:113 errors:0 dropped:0 overruns:0 frame:0
          TX packets:113 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:23469 (23.4 KB)  TX bytes:23469 (23.4 KB)


root@server:~# ethtool eth0
Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pg
        Wake-on: g
        Current message level: 0x00000037 (55)
        Link detected: yes

root@server:~# mii-tool
eth0: negotiated 1000baseT-FD flow-control, link ok

サーバーは1000mbit/sの接続があると考えています。 Sambaを使用してファイルをコピーすることにより、転送速度をテストしました。サーバーでnetcat(ncターゲット10000 <aBigFile)を使用してWindows(nc -l -p 10000)に転送したところ、同様のレベルのパフォーマンスの低下が見られました。

私はhdparmを使用してハードドライブの速度をテストし、得ました:

root@server:~# hdparm -tT /dev/md0
/dev/md0:
 Timing cached reads:   1436 MB in  2.00 seconds = 718.01 MB/sec
 Timing buffered disk reads:  444 MB in  3.02 seconds = 147.24 MB/sec

DDを使用して転送するために同じファイルを読み取ると、次のようになります。

paul@server:/home/share/Series/New$ dd if=aBigFile of=/dev/null
3200369+1 records in
3200369+1 records out
1638589012 bytes (1.6 GB) copied, 12.7091 s, 129 MB/s

私は困惑しています。何が原因で、ネットワークの能力よりも2桁低いネットワークパフォーマンスの低下を引き起こす可能性がありますか?

11
Paul Keeble

私の専門的な経験では、GNU/LinuxでSambaを使用して優れた安定したネットワークパフォーマンスを得るのに苦労しました。これで55 MBpsの速度を達成したとおっしゃっていましたが、私はそれが信じているので、他の何かが確実に機能していると思います。

しかし、NFS、FTP、SCPを試しましたか?帯域幅の問題は、さまざまなプロトコルにわたって一貫していますか?その場合は、物理的な接続に絞り込まれている可能性があります。一貫性のない結果が表示される場合は、ソフトウェアの問題である可能性があります。

他のプロトコルのテストとは別に、転送に暗号化を使用していますか?たとえば、rsync -zは圧縮を有効にするのに適していますが、CPUコストがかかるため、転送の全体的な速度に大きな影響を与えます。 SSHrsyncとともに使用すると、圧縮に加えて暗号化が適用され、CPUに少し負荷がかかり、速度が大幅に低下します。

6
Aaron Toponce

チェックを検討する必要があるいくつかの事柄:

  1. デュプレックス-片方がリンクが全二重であると考え、もう片方がリンクが半二重であると考える場合、不良が予想されます。
  2. スイッチの不良?それをバイパスします。
  3. ジャンボフレーム。 9000バイトのMTUによりオーバーヘッドが減少し、スループットが向上します(少しの遅延が発生します)。あなたの問題は非常に悪いようですが、これは助けにはなりません。
  4. TCP機能:ECN、SACK、輻輳制御アルゴリズム
  5. TCP送受信ウィンドウサイズ( linuxの詳細

netperfは、ネットワークパフォーマンスのトラブルシューティングに優れています。しかし、netcatはピンチで悪くありません。

6
Brian Cain
  1. netstat -iを試して、rx/txエラーを探します。
  2. netstat -sを試してtcpの問題を探します-ファイルコピーの前後の値を比較し、リセットまたは再送信で大きなスパイクを探します。
2
Rafael Ferreira

あなたはあなたのネットワークの混雑をチェックするかもしれません。おそらく他のいくつかのデバイスがあなたの帯域幅をすべて消費していますか?

それを超えて、ネットワークインターフェイスやそのドライバに問題がある可能性があります。かなり変。

0
pmalmsten

可能であれば、それが本当にOS /ドライバー/カードの問題であるというほとんどの疑いを取り除くために、クロスケーブルを使用してコンピューターを接続します。これにより、スイッチやその他のネットワークの問題が方程式から削除されます。

0