LAN上の異なるシステムに複数のNFSをエクスポートするSolaris 11システムがあります。テストのためにLinuxシステムをクライアントとして使用します。
読み取り速度をテストするための高速スクリプトを作成しましたが、ギガビットLANの平均読み取り速度は約110 Mbps(または13 MB / s)でした。もっと早くなると思ったと思います。 SSH(scp)は3.8 MB / sのみを提供しますが、これは暗号化されています。
httpはNFS比に似た11.5M/sを提供します。これはあまりにも低いですか?
この数のボトルネックは何ですか?
ベストアンサー1
クライアントが転送を続けるため、NFSは実際にスループットを最大化できません。私に送ってくださいあまりにもデータサーバーへ(あまりにも数キロバイトに制限されています)さらに質問する前に、完全な回答をお待ちください。死んだすべてのキューが空のとき。ネットワーク内のすべてのFS(CIFS、SSHFS)には同じ種類の問題があります(そしてIIRC scp、またはたぶんsftp
覚えていません)。
暗号化オーバーヘッドに加えて、いくつかの追加のssh
パフォーマンス制限があります(参照:ここ詳細はこちら)。
チャンク要求を実行するクライアントを使用しない限り、HTTPはTCPである必要があるため、この制限はありません。 TCPは、輻輳を回避しながらスループットを最大化するために輻輳制御アルゴリズムを使用する必要があります。数キロバイトの初期転送は遅くなりますが、両方のコンピュータが同じスイッチを介して接続されている場合は、数十分の1秒以内に帯域幅を最大化できます。ネットワーク品質が悪い場合(例:奇妙なパケット損失)がある可能性があります。
試してみるべきこと:
/dev/zero
FSアクセスのボトルネックを排除するには、通常のTCP接続(socat
またはたとえば)を介してコンテンツを転送します。nc
- ネットワークインターフェイス統計で、トランスポートエラーとTCPスタック統計を確認します(
netstat -s
)。 - (TCPおよびUDP)を使用して
iperf
テストされました。