Solaris カーネルのチューンアップ・リファレンスマニュアル

rpcmod モジュールのパラメータ

この節では、rpcmod モジュールの NFS パラメータについて説明します。

rpcmod:clnt_max_conns

説明

NFS クライアントが各 NFS サーバーと通信するときに使用する TCP 接続の数を制御します。カーネル RPC は、1 つの接続で RPC を多重化して構築しますが、必要なら複数の接続で使用することもできます。

データ型

整数 (32 ビット)

デフォルト

1

範囲

1 から 231 - 1

単位

接続

動的か

はい

検査

なし

どのような場合に変更するか

一般には、1 つの接続だけでネットワーク帯域幅全体を使いきることができます。しかし、ネットワークが提供する帯域幅を TCP が 1 つのストリームだけで利用できない場合は、複数の接続を使えば、クライアントとサーバー間のスループットが向上することがあります。

接続数の増加には犠牲が伴います。接続数を増加すると、個々の接続を管理するために、より多くのカーネルリソースの使用が必要になります。

安定性レベル

発展中

rpcmod:clnt_idle_timeout

説明

クライアントとサーバー間の接続がクライアント側でどのくらいの間遊休であれば、接続をクローズするかを制御します。

データ型

long 整数 (32 ビットプラットフォームでは 32 ビット、64 ビットプラットフォームでは 64 ビット)

デフォルト

300,000 ミリ秒 (5 分)

範囲

32 ビットプラットフォームでは 0 から 231 - 1、64 ビットプラットフォームでは 0 から 263 - 1

単位

ミリ秒

動的か

はい

検査

なし

どのような場合に変更するか

クライアント側でどのくらいの間遊休であれば接続をクローズするかを変更したい場合は、このパラメータを使用します。システムリソースが浪費されるのを防ぐために、遊休接続をクローズする時間を短縮したい場合などです。

安定性レベル

発展中

rpcmod:svc_idle_timeout

説明

クライアントとサーバー間の接続がサーバー側でどのくらいの間遊休であれば接続をクローズするかを制御します。

データ型

long 整数 (32 ビットプラットフォームでは 32 ビット、64 ビットプラットフォームでは 64 ビット)

デフォルト

360,000 ミリ秒 (6 分)

範囲

32 ビットプラットフォームでは 0 から 231 - 1、64 ビットプラットフォームでは 0 から 263 - 1

単位

ミリ秒

動的か

はい

検査

なし

どのような場合に変更するか

サーバー側でどのくらいの間遊休であれば接続をクローズするかを変更したい場合は、このパラメータを使用します。必要な場合は、システムリソースの浪費を防ぐために遊休接続をクローズする時間を短縮します。

安定性レベル

発展中

rpcmod:svc_default_stksize

説明

カーネル RPC のサービススレッドに対するカーネルスタックのサイズを設定します。

データ型

整数 (32 ビット)

デフォルト

デフォルト値 0 は、スタックサイズにシステムのデフォルト値を設定することを表します。

範囲

0 から 231 - 1

単位

バイト

動的か

スタックサイズはスレッドの作成時に設定されます。したがって、このパラメータの変更は、既存のスレッドには適用されず、新しく割り当てられるすべてのスレッドに適用されます。

検査

なし

どのような場合に変更するか

呼び出し深度が非常に深いために、スタックがオーバーフローし、レッドゾーンの障害が発生するおそれがある場合。トランスポートに対する呼び出し深度が比較的深く、ローカルファイルシステムに対する呼び出しの深さが深いという組合わせは、NFS サービススレッドのスタックがオーバーフローを起こすことがあります。

このパラメータには、プラットフォームのハードウェア pagesize の倍数を設定する必要があります。

安定性レベル

発展中

rpcmod:svc_default_max_same_xprt

説明

各トランスポート終端の要求を最大でいくつ処理したら、次のトランスポート終端に進むかを制御します。カーネル RPC では、サービススレッドのプールとトランスポート終端のプールが使用されます。個々のサービススレッドは、どのトランスポート終端からの要求でも処理できます。ただし、パフォーマンス上の理由により、次のトランスポート終端に進む前に各トランスポート終端の複数の要求が処理されます。このアプローチにより、不足を避け、パフォーマンス上の利点を得ることができます。

データ型

整数 (32 ビット)

デフォルト

8

範囲

0 から 231 - 1

単位

要求

動的か

はい。ただし、トランスポート終端を切り替える前に要求を最大でいくつ処理するかは、トランスポート終端がカーネル RPC サブシステムに構成されるときに設定されます。このパラメータへの変更は、新しいトランスポート終端だけに適用されます。つまり、既存のトランスポート終端には無効です。

検査

なし

どのような場合に変更するか

サービスが、NFS バージョン 2 の WRITE 要求を高速化するクラスタ化などのクライアントの動作を利用できるようにこの値をチューニングすることができます。このパラメータの値を増やすことにより、サーバー側でクライアントの動作の利点をよりよく利用できる可能性があります。

安定性レベル

発展中

rpcmod:maxdupreqs

説明

コネクションレストランスポートにおける RPC レベルの再転送を検出する重複要求キャッシュのサイズを制御します。このキャッシュは、クライアントネットワークアドレス、RPC の手順番号、プログラム番号、バージョン番号、および、トランザクション ID でインデックス化されます。このキャッシュにより、非べき等であるかもしれない再転送要求の処理が防止されます。

データ型

整数 (32 ビット)

デフォルト

1024

範囲

1 から 231 - 1

単位

要求

動的か

キャッシュのサイズは動的に決められますが、キャッシュへの高速アクセスを可能にするハッシュキューのサイズは静的に決められます。キャッシュのサイズを著しく大きくすると、キャッシュ内のエントリの検索に長い時間がかかることがあります。

このパラメータに 0 を設定しないでください。0 を設定すると、NFS サーバーが非べき等の要求を処理できません。

検査

なし

どのような場合に変更するか

NFS クライアントで不正な障害エラーが見られる場合は、このパラメータの値を調べます。たとえば、ディレクトリの作成が失敗したのに、実際にはディレクトリが作成されている場合は、再転送された MKDIR 要求をサーバーが検出しなかった可能性があります。

キャッシュのサイズは、サーバーの負荷に見合ったものでなければなりません。キャッシュには非べき等の要求が格納されるため、キャッシュでは、要求全体の一部だけしか管理する必要がありません。キャッシュは、クライアント側の再転送を検出できるだけの間、情報を保持していなければなりません。一般に、コネクションレストランスポートのクライアントのタイムアウトは比較的短く、1 秒から 20 秒くらいです。

安定性レベル

変更の可能性あり

rpcmod:cotsmaxdupreqs

説明

コネクション型のトランスポートにおける RPC レベルの再転送を検出する重複要求キャッシュのサイズを制御します。このキャッシュは、クライアントネットワークアドレス、RPC の手順番号、プログラム番号、バージョン番号、および、トランザクション ID でインデックス化されています。このキャッシュにより、非べき等であるかもしれない再転送要求の処理が防止されます (呼び出し回数に依存する)。

データ型

整数 (32 ビット)

デフォルト

1024

範囲

1 から 231 - 1

単位

要求

動的か

はい

検査

キャッシュのサイズは動的に決められますが、キャッシュへの高速アクセスを可能にするハッシュキューのサイズは静的に決められます。キャッシュのサイズを著しく大きくすると、キャッシュ内のエントリの検索に長い時間がかかることがあります。

このパラメータに 0 を設定しないでください。0 を設定すると、NFS サーバーは非べき等の要求を処理できません。

どのような場合に変更するか

NFS クライアントで不正な障害エラーが見られる場合は、このパラメータの値を調べます。たとえば、ディレクトリの作成が失敗したのに、実際にはディレクトリが作成されている場合は、再転送された MKDIR 要求をサーバーが検出しなかった可能性があります。

キャッシュのサイズは、サーバーの負荷に見合ったものでなければなりません。キャッシュには非べき等の要求が格納されるため、キャッシュでは、要求全体の一部だけしか管理する必要がありません。キャッシュは、クライアント側の再転送を検出できるだけの間、情報を保持していなければなりません。一般に、コネクション型のトランスポートのクライアントのタイムアウトは非常に長く、1 分くらいです。したがって、エントリは、キャッシュに比較的長く留まる必要があります。

安定性レベル

変更の可能性あり