ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server Java EE運用ガイド
Interstage

4.22.1 ロードバランスを使用しない/EJBディスパッチ機能によるロードバランスを利用する場合

IPCOMを利用して負荷分散する場合、以下の設定が必要です。

以下の説明では、EJBアプリケーションを運用する実行環境をEJBコンテナと呼んでいます。また、Webアプリケーションを運用する実行環境をWebコンテナと呼んでいます。

EJBコンテナの設定

EJBコンテナ(EJBディスパッチ機能を使用する場合はEJBディスパッチャ)を配置するサーバには以下の設定が必要です。

1)ネットワークの設定

EJBコンテナ(EJBディスパッチ機能を使用する場合はEJBディスパッチャ)を配置するサーバにおいて、以下のhostsファイルに定義されている自サーバのホスト名とIPアドレスの設定文に対して、別名で、仮想IPアドレスのホスト名の宣言を追加します。
宣言を追加した後は、pingコマンドによりホスト名が解決されているかを確認してください。

Windows(R)インストールフォルダ\system32\drivers\etc\hosts

/etc/hosts

以下に、自サーバのホスト名がhost1、仮想IPアドレスのホスト名がvhostの場合の記述例を示します。なお、「10.124.35.41」のIPアドレスは、host1の実IPアドレスです。

10.124.35.41 host1 vhost
2)IJServerクラスタの作成

作成したIJServerクラスタに対して以下の2つの項目を設定してください。EJBディスパッチャを使用する場合には、EJBディスパッチャを運用するIJServerクラスタに対して設定してください。EJBディスパッチャの振り分け対象のIJServerクラスタに設定は不要です。

定義項目

設定内容

非フラグメントモード

ORBの送信データが分割しないようにするため、Java VMオプション(システムプロパティ)に以下の値を設定してください。

-Dcom.sun.corba.ee.giop.ORBGIOP12BuffMgr=GROW

本プロパティを設定することにより、最大メッセージ分割サイズの設定値に関わらず、送信データが分割されなくなります。

仮想ホスト名の指定

IIOPリスナーのネットワークアドレスにIPCOMの仮想ホスト名を指定してください。

注意

IIOPリスナーのネットワークアドレスに設定する値は、仮想IPアドレスではなく、仮想ホスト名にしてください。仮想IPアドレスを指定した場合、IJServerクラスタの起動が失敗します。


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

  • Interstage Java EE管理コンソールヘルプ

  • 「リファレンスマニュアル(コマンド編)」の「Java EE運用コマンド」-「asadmin」-「定義項目参照/更新」

  • 「リファレンスマニュアル(コマンド編)」の「Java EE運用コマンド」-「asadmin」-「create-jvm-optionsサブコマンド」


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

  • Interstage Java EE管理コンソールヘルプ

  • 「リファレンスマニュアル(コマンド編)」の「Java EE運用コマンド」-「asadmin」-「setサブコマンド」の「configs.config.iiop-serviceの定義項目」

IPCOMと連携したIIOP通信の負荷分散機能を利用する場合は、アプリケーション実行時に必要なヒープ使用量を考慮に入れる必要があります。Java VMのヒープ使用量については、「チューニングガイド」の「Java EE機能のチューニング」-「ORBのチューニング」-「ORB」を参照して、見積もってください。

接続先の送信データサイズが256000byteを超える場合は「チューニングガイド」の「Java EE機能のチューニング」-「ORBのチューニング」-「通信データサイズに関する注意事項」を参照し、最大受信バッファサイズの拡張を行ってください。

3)モジュールの配備

振り分け対象のEJBコンテナ(EJBディスパッチ機能を使用する場合はEJBディスパッチャ)を運用するサーバーインスタンスが、同一IJServerクラスタに属していれば特別な操作は不要です。

振り分け対象のEJBコンテナ(EJBディスパッチ機能を使用する場合はEJBディスパッチャ)を運用するサーバーインスタンスが、別々のIJServerクラスタに属している時は、IPCOM連携するアプリケーションを配備する場合、IJServerクラスタで一意のIDを以下のタグに定義する必要があります。詳細は、「3.1.11 IPCOMと連携する場合の注意事項」を参照してください。

配備モジュール

タグ

EJB-JAR

sun-ejb-jar.xmlのunique-idタグ

EAR

sun-application.xmlのunique-idタグ

IPCOMの設定

IPCOMの設定は、IPCOMのマニュアルを参照してください。

負荷計測エージェントを必要とする分散方式のうち、「最小待ちメッセージ数」および「最小通信バッファ使用率」は、Interstage Java EEでは利用できません。

負荷分散ポリシーのセッション維持(一意性の保証)の設定は、コネクション単位の分散を行うように設定することを推奨します。
また、IIOP負荷分散の設定は、メソッド呼び出し単位の負荷分散を行うように設定してください。

仮想ポート番号には、EJBアプリケーション(EJBディスパッチ機能を使用する場合はEJBディスパッチャ)を運用するサーバで、仮想ホスト名を指定したIIOPリスナーのポート番号を設定してください。

IPCOM 装置の無通信監視時間(IPCOM装置:slb iiop keep-alive-time)には、IIOP通信時のサーバメソッド復帰時間(com.sun.corba.ee.transport.ORBWaitForResponseTimeout)より大きい値を設定してください。
上記設定を行っていないと、分散対象サーバからの応答が無い場合に、無限にリクエストの再送を繰り返す可能性があります。

注意

メソッド呼び出し単位の負荷分散を行う設定にするには、IIOP負荷分散に対応したIPCOMが必要です。

Webコンテナの設定

Webコンテナを配置するサーバには以下の設定が必要です。

1)ネットワークの設定

Webコンテナを配置するサーバにおいて、以下のhostsファイルに、仮想ホスト名とEJBアプリケーション(EJBディスパッチ機能を使用する場合はEJBディスパッチャ)を運用するサーバのすべてのホスト名宣言を追加します。
宣言を追加した後は、仮想ホスト名以外の宣言についてpingコマンドによりホスト名が解決されているかを確認してください。
仮想ホスト名の宣言については、IPCOMの仮想IPアドレスの設定に合わせて正しく宣言されているか確認してください。

Windows(R)インストールフォルダ\system32\drivers\etc\hosts

/etc/hosts

以下に、EJBアプリケーション(EJBディスパッチ機能を使用する場合はEJBディスパッチャ)を運用するサーバグループのホスト名がhost1、host2、仮想IPアドレスのホスト名がvhostの場合の記述例を示します。
なお、「10.124.35.41」のIPアドレスは、host1の実IPアドレス、「10.124.35.42」のIPアドレスは、host2の実IPアドレスです。

10.124.35.30 vhost
10.124.35.41 host1
10.124.35.42 host2
2)JNDIの設定

指定するホスト名に仮想ホスト名を指定してください。詳細は、「3.1.11 IPCOMと連携する場合の注意事項」の「JNDI名に仮想ホスト名の指定」を参照してください。

3)非フラグメントモードの設定

IJServerクラスタから異なるIJServerクラスタのEJBアプリケーションを呼び出す場合、作成したIJServerクラスタに対して以下を設定してください。

定義項目

設定内容

非フラグメントモード

ORBの送信データが分割しないようにするため、Java VMオプション(システムプロパティ)に以下の値を設定してください。

-Dcom.sun.corba.ee.giop.ORBGIOP12BuffMgr=GROW

本プロパティを設定することにより、最大メッセージ分割サイズの設定値に関わらず、送信データが分割されなくなります。


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

  • Interstage Java EE管理コンソールヘルプ

  • 「リファレンスマニュアル(コマンド編)」の「Java EE運用コマンド」-「asadmin」-「create-jvm-optionsサブコマンド」

IPCOMと連携したIIOP通信の負荷分散機能を利用する場合は、アプリケーション実行時に必要なヒープ使用量を考慮に入れる必要があります。Java VMのヒープ使用量については、「チューニングガイド」の「Java EE機能のチューニング」-「ORBのチューニング」-「ORB」を参照して、見積もってください。

接続先の送信データサイズが256000byteを超える場合は「チューニングガイド」の「Java EE機能のチューニング」-「ORBのチューニング」-「通信データサイズに関する注意事項」を参照し、最大受信バッファサイズの拡張を行ってください。

クライアントの設定

Webコンテナを使用せずに、クライアントからサーバのEJBアプリケーションを呼び出す場合は、以下を設定してください。

1)ネットワークの設定

hostsファイルに、仮想ホスト名とEJBコンテナ(EJBディスパッチ機能を使用する場合はEJBディスパッチャ)を運用するサーバのすべてのホスト名宣言を追加します。設定方法については、「Webコンテナの設定」を参照してください。

2)JNDIの設定

4.13.3 クライアントからサーバに接続する場合の設定」で指定する接続先のホスト名には、IPCOMが存在する仮想ホスト名を指定してください。

3)非フラグメントモードの設定

以下のプロパティをJava VMオプションに設定してください。

定義項目

設定内容

非フラグメントモード

ORBの送信データが分割しないようにするため、Java VMオプション(システムプロパティ)に以下の値を設定してください。

-Dcom.sun.corba.ee.giop.ORBGIOP12BuffMgr=GROW

本プロパティを設定することにより、最大メッセージ分割サイズの設定値に関わらず、送信データが分割されなくなります。


IPCOMと連携したIIOP通信の負荷分散機能を利用する場合は、アプリケーション実行時に必要なヒープ使用量を考慮に入れる必要があります。Java VMのヒープ使用量については、「チューニングガイド」の「Java EE機能のチューニング」-「ORBのチューニング」-「ORB」を参照して、見積もってください。

接続先の送信データサイズが256000byteを超える場合は「チューニングガイド」の「Java EE機能のチューニング」-「ORBのチューニング」-「通信データサイズに関する注意事項」を参照し、最大受信バッファサイズの拡張を行ってください。