100mbpsの全体的なネットワーク速度に達しません(近いレベルではありません)。

100mbpsの全体的なネットワーク速度に達しません(近いレベルではありません)。

大容量ファイルにrsyncを使用すると、ダウンロード速度は2.7 MB / sで約22 Mbpsです。ネットワークカードでethtoolを実行すると、次のように出力されます。

 Settings for eth0:
    Supported ports: [ TP MII ]
    Supported link modes:   10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Advertised link modes:  10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
    Advertised pause frame use: No
    Advertised auto-negotiation: Yes
    Speed: 100Mb/s
    Duplex: Full
    Port: MII
    PHYAD: 1
    Transceiver: external
    Auto-negotiation: on
    Current message level: 0x00000007 (7)
                   drv probe link
    Link detected: yes

本体でも同様の数値を見つけました。

ethtool -i etho を見ると、次のような結果が表示されます。

driver: smsc911x
version: 2008-10-21
firmware-version: 
expansion-rom-version: 
bus-info: smsc911x.0
supports-statistics: no
supports-test: no
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no

私が使用しているイーサネットケーブルをもう一度確認しましたが、すべて5e以上です。このプロジェクトではLAN9221-ABZJチップを使用しています。これはファームウェアの問題ですか、プロトコルのオーバーヘッドが高すぎますか、それともチップが十分に速く転送できませんか?

修正する

iperfを使って速度を確認しました。サーバー側では、速度は50Mbpsです。クライアント側では、速度は65Mbpsです。また、これをリモートで実行する必要があります(設定するためにコンピュータにSSHで接続している場合など)。これは少し低いようですね。

答え1

データ転送時にhtopを介してCPU使用率を確認します。イーサネットイベント中に最大値に達すると、CPUにボトルネックがあるという良い信号です。唯一の解決策は、CPUのクロックを増やすか、より速いクロックを取得することです。

関連情報