ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server チューニングガイド
Interstage

5.13.1 ORB

Java EEは、異なるマシンに配置されているオブジェクトや別プロセスのオブジェクト間でリクエストを呼び出す場合、ORBを介してIIOP通信できます。

ORBの設定について以下に説明します。


IJServerクラスタの場合、以下に示すORBの設定項目を変更できます。

ORB設定

デフォルト値

意味

効果

総接続数

1024

IIOP通信の最大同時接続数を指定します。 (注1)(注2)
総接続数を超えて同時に通信することはできません。 (注3)

最大同時接続数を指定することによって、コネクション接続で使用するメモリやリソースを制御します。

最大メッセージ分割サイズ
(byte単位)

1024

IIOPメッセージの最大フラグメントサイズを設定します。 (注4)(注5) (注6)(注7)

IIOPメッセージのエンコード処理を最大フラグメントサイズで行います。全データをまとめてエンコードするのに比べて使用するJavaヒープ領域を圧縮できます。


アプリケーションクライアントコンテナまたはスタンドアロンクライアントの場合、以下に示すORBの設定項目を変更できます。

ORB設定

デフォルト値

意味

効果

最大メッセージ分割サイズ
(byte単位)

4096

IIOPメッセージの最大フラグメントサイズを設定します。(注4)(注5)(注6)(注7)

IIOPメッセージのエンコード処理を最大フラグメントサイズで行います。全データをまとめてエンコードするのに比べて使用するJavaヒープ領域を圧縮できます。


注1) 100未満の値を設定しても、接続数が100以上にならないと接続の回収は行われません。
注2) 確立済みの接続が存在する場合、その接続を使用して通信します。例えばあるプロセスがマルチスレッドでリクエストを呼び出した場合、呼出し先が単一プロセスならば接続は1つだけ使用されます。
注3) 接続数がこの値を超えるとアイドル状態の接続の回収(コネクション切断)が行われます。使用中の接続数が総接続数まで到達している状態で、新規接続を行おうとすると、新規接続のコネクション自身が回収されます。
注4) 最大メッセージ分割サイズはデータ送信時の設定であり、クライアントからのリクエスト送信時と、サーバーからのリプライ送信時に有効な機能になります。
例えば、エンコードされた通信データが70000byteで、最大メッセージ分割サイズが30000byteの場合、図のように分割して、IIOP通信が開始されます。

送信された通信データは、受信側の受信バッファに格納された後、先頭データから順に業務データにデコードされ、ユーザアプリケーションに渡されます。


注5) 1024byteより小さな値は設定しないでください。最大メッセージ分割サイズが1024byteより小さい場合、想定される最大クライアント多重度の2倍のスレッドが必要になります。このため、サーバー側で必要なスレッド数が見積もり数を超過してしまう可能性があります。
なお、スレッド数の見積もりについては、「5.7.1 スレッドプーリング」を参照してください。
注6) 256000以上の値を設定する場合、接続先の最大受信バッファサイズを本設定値より大きい値とする必要があります。最大受信バッファサイズについては、「5.13.2 通信データサイズに関する注意事項」を参照してください。
注7) 設定値は、Java VM上でのヒープ使用量に影響します。
最大メッセージ分割サイズにより、IIOP通信時に獲得するバッファ領域のサイズが変動しますので、最大メッセージ分割サイズを変更する際は、実際に送受信される業務データとは別に、最大メッセージ分割サイズの設定によるヒープ使用量を考慮して、Java VMのヒープ領域サイズを見積もってください。

以下の計算式のうち、大きいほうの結果が必要なヒープ使用量になります。

ORB設定は、以下の方法で設定します。

総接続数

Interstage Java EE管理コンソール、およびasadminコマンドを使用して変更・参照できます。詳細については、以下のマニュアルを参照してください。

設定変更時は、IJServerクラスタを再起動する必要があります。

最大メッセージ分割サイズ