
たとえば、開発者がワークスペースを NFS 経由でマウントして Eclipse/Visual Studio で快適に作業できるようにするには、NFS エクスポートのレイテンシを低く抑えるにはどうすればよいですか?
答え1
まだ設計段階のようですね。もしそうだとしたら、注目すべき点がいくつかあります。
- NFSv2 より NFSv3/4 の方が、より大きなパケットや「安全な非同期書き込み」などの機能に対応します。
- NFSクライアントの先読みと遅延書き込み機能を確認してください。これらの機能はどちらも役立ちます。
- ネットワーク遅延を低く抑える - 高速スイッチ経由のギガビット接続
- NFS サーバーの速度が適切に調整されていることを確認してください。これは NFS の実装と構成の両方に当てはまります。
チューニングのヒントを含む、優れた NFS FAQ がこちらにあります:http://nfs.sourceforge.net/
答え2
NFS 経由でコンパイルしないでください。NFS のパフォーマンスは通常、ディスク I/O パフォーマンスの要因であり、コンパイルによってファイル I/O 操作の数が増加します。
それを避けられない場合は、キャッシュが救いの手となります。NFS サーバーにできる限り RAM を詰め込み、非同期書き込みを使用し、クライアント側で可能なすべてのキャッシュを有効にします。実際、RAID は (キャッシュされていない) ディスク操作の処理において、単一のハード ディスクよりも優れているわけではありません。また、コンパイル作業負荷のファイル サイズが小さい場合、結合されたスループットは何も変わりません。
答え3
ファイルシステムのキャッシュを待つか、NFS 経由でコンパイルしないでください。ハードディスクは常にネットワーク ファイルシステムよりも高速です。
答え4
クライアントがローカルかリモートかに関係なく、ディスク IO によってレイテンシの下限が決まるため、ファイルを非常に高速なディスクまたは高速化のために構築された RAID アレイに配置します。その他の回答も問題ありません。
良い解決策としては、ファイルサーバーを建てるサーバーも同様です。