web-dev-qa-db-ja.com

1GBitホームネットワークでNFSコピー速度を最適化するにはどうすればよいですか?

中心点として1 GBit /秒のスイッチを備えたホームネットワークと、1 GBit /秒のNICを備えたすべてのコンピューターがあります。ただし、私はNFS共有で最大200 MBit /秒のコピー速度を得ています。もっともっと稼げるようになったようです。私は現実的に何を期待でき、システムとNFSサーバーをチューニングしてより高速にすることができますか?

ちなみに、関係するすべてのシステムはLinuxです(CentOSとFedoraの混合)。

あなたは頭上に打ちのめされています。ジャンボフレームを調べ、NFS読み取り/書き込みデータサイズを拡張する必要があります。 this one のように 'netにはNFSパフォーマンスチューニングのガイドがたくさんあり、古すぎないように見えます。

また、ディスク速度よりも優れた性能を発揮できないことを理解してください。ボトルネックにならないようにしてください。

8
pjz

ジャンボフレームに目を向ける必要があります。安価な5ポートGbEハブでも最近は可能ですが、接続の両端でジャンボフレームを有効にする必要があります。ジャンボフレームを有効にするには、次の操作を行います

ifconfig eth0 mtu 9000

これが、ファイラーからホームディレクトリを自動マウントするときに使用するマウントオプションです。

rw,intr,soft,nfsvers=3.tcp,nolock,noatime,rsize=32768,wsize=32768

質問を更新して、状況が改善されるかどうかお知らせください

5
Dave Cheney

ジャンボフレームは確かに役立ちますが、魔法のようにスループットが100%増加するとは期待できません。私の投稿 here を確認してください。別の質問で、ディスクI/Oを使用せずにネットワークスループットをテストする方法について説明しています。これにより、ネットワークに関連していない他の要因があるかどうかを確認するための基準が得られます。

ここで提案されているように、ジャンボフレームを有効にする予定がある場合は、いくつかの制限と要件に注意してください。

  • パス上のすべてのデバイスは、ジャンボフレームをサポートし、有効にする必要があります。これも:
    • 送信と受信の両方のNIC
    • デバイスが接続されている両方のスイッチポート
    • 送信側から受信側へのパスに沿ったすべてのL2スイッチポート(スイッチ間接続)
    • パスに沿ったすべてのL3インターフェイス(該当する場合)
  • 同じVLAN内のすべてのデバイスがサポートされ、ジャンボフレーム用に構成されていることを確認してください。

2番目の弾丸の理由:同じVLANで2つのPCセットアップを検討してください。1つは9000バイトフレーム用に構成され、もう1つは1500バイトフレーム用に構成されています。標準フレーム用に構成されたPC1は、PC2にパケットを正常に送信できます。ただし、PC2が送信する応答はすべて9000バイトフレームになります。 PC1は標準フレーム用に構成されているため、ジャンボフレームを処理できず、ドロップされます。この問題を解決するには、2台のPCの間にL3デバイス(ルーター)を挿入して、通信できるようにする必要があります。

3
Dave K

ボトルネックは、ネットワークまたはハードドライブである可能性があります。まずはどれかを確認してから、最適化します。

1

NIC割り込み合体、受信側スケーリング、または任意の形式のTCPオフロード(チェックサムまたは全パック))をオンにする機能はありますか? NICとIPスタックによって異なります。

1
Chopper3

NFS固有の情報については、NFSの新しい実装ではUDPだけでなくTCPもサポートしていることに注意してください。デフォルトは通常UDPのままです。奇妙なことに、非常に高速なネットワークでは、TCPはウィンドウ処理により高速になる可能性があります。両方の方法を試して比較してください。

その他のヒントについては、サイトを検索してください。このトピックの一般的な形式は、すでに70億回も打ちのめされています。 :-)

1
Brian Knoblauch

ジャンボフレームが有効になっていることを確認し、使用するすべてのネットワークスイッチがジャンボフレームもサポートしていて、有効になっていることを確認してください。 NFS共有で速度を上げるためにRAIDストライピングを実行したい場合があります。

0
Eddie