この機能は、Solaris 9 12/03 リリースで追加されました。
次の機能拡張により、NFS クライアントのパフォーマンスが向上しています。
ネットワーク転送サイズに関する制限が緩和されました。 具体的には、使用する転送プロトコルに基づいて転送サイズが決定されるようになりました。 たとえば、UDP 使用時の NFS 転送の上限は、以前と同じく 32K バイトです。 これに対し、TCP は UDP のようなデータグラム制限を持たないストリーミングプロトコルであるため、TCP 使用時の最大転送サイズは、1M バイトまで拡張されています。
これまで、書き込み要求はすべて、NFS クライアントと NFS サーバーの両方で直列化されていました。 今回の NFS クライアントの変更により、単一ファイルに対する同時書き込み、同時読み取り/書き込みを、アプリケーションから実行できるようになりました。 この機能をクライアント上で有効にするには、forcedirectio mount オプションを使用します。 このオプションを使用した場合、マウントされたファイルシステム内のすべてのファイルに対して、この機能が有効になります。 この機能をクライアントの単一のファイルに対してのみ有効にするには、directio() インタフェースを使用します。 なお、この新しい機能を有効にしない限り、ファイルへの書き込みは直列化されることに注意してください。 また、同時書き込みや同時読み取り/書き込みが実行されると、そのファイルに関しては、POSIX のセマンティクスはサポートされなくなります。
NFS クライアントで余分な数の UDP ポートが使用されなくなりました。 これまで、UDP 経由の NFS 転送では、未処理の要求ごとに別々の UDP ポートが使用されていました。 これからはデフォルトで、予約済みの UDP ポートが 1 つだけ使用されるようになりました。 ただし、このサポートは設定可能です。 複数のポートを同時に使用したほうがスケーラビリティが高まり、結果的にシステムのパフォーマンスが向上するような場合には、複数のポートを使用するようにシステムを設定できます。 なお、この機能は、TCP 経由の NFS に最初から備わっていた同種の設定可能なサポートを UDP に移植したものです。