ORB プロパティー

オブジェクト・リクエスト・ブローカー (ORB) プロパティーは、データ・グリッドのトランスポート動作を変更します。 これらのプロパティーは、orb.properties ファイルを使用して設定するか、WebSphere® Application Server 管理コンソールで設定として設定するか、または WebSphere Application Server 管理コンソールで ORB のカスタム・プロパティーとして設定することができます。

orb.properties

orb.properties ファイルは、java/jre/lib ディレクトリーにあります。WebSphere Application Server java/jre/lib ディレクトリーにある orb.properties ファイルを変更すると、Java ランタイム環境 (JRE) を使用しているノード・エージェントおよびその他の Java 仮想マシン (JVM) で ORB プロパティーが更新されます。 この動作を望まない場合は、カスタム・プロパティーまたは ORB 設定 WebSphere Application Server 管理コンソールを使用してください。

デフォルトの WebSphere Application Server 設定

WebSphere Application Server には、デフォルトで、ORB に定義されたプロパティーがいくつかあります。これらの設定は、アプリケーション・サーバー・コンテナー・サービスおよびデプロイメント・マネージャーにあります。これらのデフォルト設定は、orb.properties ファイルで行われた設定をオーバーライドします。 説明されたそれぞれのプロパティーについては、「指定するところ」のセクションを参照して、推奨値を定義する場所を決定してください。

ファイル記述子設定

UNIX システムおよび Linux システムでは、プロセス当たりに許容されるオープン・ファイルの数に制限があります。 オペレーティング・システムが、許容されるオープン・ファイルの数を指定します。 この値が小さすぎる場合、AIX® ではメモリー割り振りエラーが 発生し、多すぎるオープン・ファイルはログに記録されます。

UNIX システム端末ウィンドウ で、この値をデフォルトのシステム値よりも大きく設定して ください。クローンを持つ大容量 SMP マシンの場合、無限に設定してください。

AIX 構成では、コマンド ulimit -n -1 を使用して、この値を -1 (無限) に設定してください。

Solaris 構成 の場合、コマンド ulimit -n 16384 を使用して、この値を 16384 に設定してください。

コマンド ulimit –a を使用すれば、現行値を表示できます。

ベースラインの設定

以下の設定は、適切なベースラインですが、必ずしもすべての環境に最適な設定とは限りません。 ご使用の環境においてどの値が適切であるか、正しい決定をできるようにこれらの設定をよく理解してください。
com.ibm.CORBA.RequestTimeout=30
com.ibm.CORBA.ConnectTimeout=10
com.ibm.CORBA.FragmentTimeout=30
com.ibm.CORBA.LocateRequestTimeout=10
com.ibm.CORBA.ThreadPool.MinimumSize=256
com.ibm.CORBA.ThreadPool.MaximumSize=256
com.ibm.CORBA.ThreadPool.IsGrowable=false
com.ibm.CORBA.ConnectionMultiplicity=1
com.ibm.CORBA.MinOpenConnections=1024
com.ibm.CORBA.MaxOpenConnections=1024
com.ibm.CORBA.ServerSocketQueueDepth=1024
com.ibm.CORBA.FragmentSize=0
com.ibm.CORBA.iiop.NoLocalCopies=true
com.ibm.CORBA.NoLocalInterceptors=true

プロパティーの説明

タイムアウト設定

以下の設定は、ORB が要求の操作に見切りをつけるまで待機する時間に関係しています。 これらの設定を使用して、異常な状況下で余分なスレッドが作られるのを防いでください。

要求タイムアウト

プロパティー名: com.ibm.CORBA.RequestTimeout

有効な値: 秒数を表す整数値。

推奨値: 30

指定するところ: WebSphere Application Server 管理コンソール

説明: 要求 (任意) が応答を待機する秒数。その秒数を過ぎると待機を止めます。 このプロパティーは、ネットワーク停止の障害が発生した場合にクライアントがフェイルオーバーするまでに要する時間に影響します。 このプロパティーの値を極端に低く設定すると、要求が誤ってタイムアウトになる可能性があります。 不用意なタイムアウトを回避するためにこのプロパティーの値は慎重に考慮してください。

接続タイムアウト

プロパティー名: com.ibm.CORBA.ConnectTimeout

有効な値: 秒数を表す整数値。

推奨値: 10

指定するところ: orb.properties ファイル

説明: ソケット接続試行で待機する秒数。その秒数を過ぎると待機を止めます。 このプロパティーは、要求タイムアウトと同様に、ネットワーク停止の障害が発生した場合にクライアントがフェイルオーバーするまでに要する時間に影響します。 一般に、このプロパティーは要求タイムアウト値よりも小さい値に設定します。接続の確立に要する時間は比較的一定であるためです。

フラグメント・タイムアウト

プロパティー名: com.ibm.CORBA.FragmentTimeout

有効な値: 秒数を表す整数値。

推奨値: 30

指定するところ: orb.properties ファイル

説明: フラグメント要求が待機する秒数。その秒数を過ぎると待機を止めます。 このプロパティーは、要求タイムアウト・プロパティーと類似しています。

スレッド・プールの設定

このプロパティーは、スレッド・プール・サイズを 特定のスレッド数に制約します。サーバー要求がソケットで受信されると、そのサーバー要求をスピンオフさせるために、ORB によってスレッドが使用されます。 このプロパティー値を低い値に設定すると、ソケットのキュー項目数が増加して、タイムアウトになる可能性もあります。

接続多重度

プロパティー名: com.ibm.CORBA.ConnectionMultiplicity

有効な値: クライアントとサーバーの間の接続数を表す整数値。 デフォルト値は 1 です。これより大きい値に設定すると、複数接続にまたがる多重化の設定になります。

推奨値: 1

指定するところ: orb.properties ファイル

説明: ORB が任意のサーバーとの複数の接続を使用できるようにします。理論的に、この値の設定は、複数接続にまたがる並列性を促進します。 実際には、接続多重度の設定によるパフォーマンス上の利点はありません。 このパラメーターは設定しないでください。
オープン接続

プロパティー名: com.ibm.CORBA.MinOpenConnections、com.ibm.CORBA.MaxOpenConnections

有効な値: 接続数を表す整数値。

推奨値: 1024

指定するところ: WebSphere Application Server 管理コンソール

説明: オープン接続の最小数と最大数。 ORB は、クライアントとの間に確立された接続のキャッシュを保持します。 この値を超えると、これらの接続は消去されます。 接続の消去は、データ・グリッド内の動作の低下の原因になる可能性があります。
成長可能

プロパティー名: com.ibm.CORBA.ThreadPool.IsGrowable

有効な値: ブール値。true または false に設定します。

推奨値: false

指定するところ: orb.properties ファイル

説明: true に設定すると、ORB が着信要求用に使用するスレッド・プールは、そのプールがサポートする以上に成長する可能性があります。 プール・サイズを上回ると、要求の処理のために新規スレッドが作成されますが、そのスレッドはプールされません。 値を false に設定することで、スレッド・プールの成長を防ぎます。
サーバー・ソケットのキュー項目数

プロパティー名: com.ibm.CORBA.ServerSocketQueueDepth

有効な値: 接続数を表す整数値。

推奨値: 1024

指定するところ: orb.properties ファイル

説明: クライアントからの着呼接続のキューの長さを指定します。 ORB は、クライアントからの着呼接続をキューに入れます。 キューがフルになると、接続は拒否されます。 接続の拒否は、データ・グリッド内の動作の低下の原因になる可能性があります。
フラグメント・サイズ

プロパティー名: com.ibm.CORBA.FragmentSize

有効な値: バイト数を指定する整数。 デフォルトは 1024 です。

推奨値: 0

指定するところ: orb.properties ファイル

説明: ORB が要求の送信時に使用する最大パケット・サイズを指定します。 要求がフラグメント・サイズ制限より大きい場合、その要求は要求フラグメントに分割されて、それぞれ別々に送信されて、サーバー上で再組み立てされます。 要求のフラグメント化は、パケットの再送が必要になる可能性のある不安定なネットワークで有効です。 ただし、ネットワークの信頼性が高い場合、要求をフラグメントに分割すると、不必要な処理の原因になる可能性があります。
ローカル・コピーなし

プロパティー名: com.ibm.CORBA.iiop.NoLocalCopies

有効な値: ブール値。true または false に設定します。

推奨値: true

指定するところ: WebSphere Application Server 管理コンソール、「参照による受け渡し」設定

説明: ORB が参照による受け渡しをするかどうかを指定します。 ORB は、デフォルトで、値の呼び出しによる受け渡しを使用します。 インターフェースがローカルで開始されるとき、値の呼び出しによる受け渡しは、パスに余分なガーベッジやシリアライゼーションのコストをもたらす原因になります。 この値を true に設定すると、ORB は、値の呼び出しによる受け渡しよりも効率的な参照による受け渡し方式を使用します。
ローカル・インターセプターなし

プロパティー名: com.ibm.CORBA.NoLocalInterceptors

有効な値: ブール値。true または false に設定します。

推奨値: true

指定するところ: orb.properties ファイル

説明: ローカル要求 (プロセス内) を行うときにも ORB が要求インターセプターを開始するかどうかを指定します。 WebSphere eXtreme Scale が使用するインターセプターは、セキュリティーと経路処理を目的とし、要求がプロセス内で処理される場合には必須ではありません。プロセス間を仲介するインターセプターは、リモート・プロシージャー・コール (RPC) 操作の場合にのみ必要です。 ローカル・インターセプターなしを設定すると、ローカル・インターセプターを使用することにより生じる余分な処理を回避できます。
重要: WebSphere eXtreme Scale セキュリティーを使用している場合は、com.ibm.CORBA.NoLocalInterceptors プロパティー値を false に設定してください。 セキュリティー・インフラストラクチャーは、認証のためにインターセプターを使用します。