読み取りおよび書き込みサイズの調整

最も役に立つ NFS チューニング・オプションは、rsize および wsize オプションです。これらのオプションを使って、 読み取りおよび書き込みの RPC パケットの最大サイズをそれぞれ定義できます。

読み取りおよび書き込みのサイズ値を変更する理由の概略を以下に示します。

  • サーバーは、読み取り/書き込みパケットの転送に必要なデータ・ボリュームと速度 (NFS バージョン 2 の場合は 8 KB、NFS バージョン 3 および NFS バージョン 4 の場合は 32 KB) を扱えないことがあります。 NFS クライアントが NFS サーバーとして PC を使用している場合がこのケースにあたります。 PC では、大きなパケットのバッファリングに使用できるメモリーが制約されていることがあります。
  • 読み取り/書き込みサイズ値を小さくすると、後で、 コールが生成する IP フラグメントの数が減少することがあります。 障害のあるネットワークを扱っているときには、 7 個のパケットが正常に交換される必要があるのに、 2 個のパケット交換だけでコールおよび応答の対が完了する場合が多くなります。 同様に、パフォーマンス特性が異なる複数のネットワークにわたって NFS パケットを送信する場合は、 IP フラグメントのタイムアウト値より前に、 すべてのパケット・フラグメントが到着しないことがあります。

混雑したネットワークの場合は、rsize および wsize を小さくすると、 各 NFS 読み取り応答および書き込み要求ごとに送られるパケットが短いので、NFS パフォーマンスは向上することがあります。 しかし、ネットワーク上にデータを送信するのにより多くのパケットが必要になり、 ネットワーク・トラフィックの合計量が増えるのと同時に、 サーバーとクライアントの両方の CPU 使用率が増えるという副次作用が生じます。

NFS ファイルシステムがギガビット・イーサネットなどの高速ネットワークにマウントされると、 読み取りおよび書き込みパケット・サイズが大きくなるので、NFS ファイルシステムのパフォーマンスが向上します。 NFS バージョン 3 および NFS バージョン 4 で、ネットワーク・トランスポートが TCP の場合は、 rsizewsize の値を最高で 65536 に設定できます。 デフォルト値は 32768 です。 NFS バージョン 2 では、rsize および wsize オプションの最大値は 8192 で、 これがデフォルトです。