ページの先頭行へ戻る
Interstage Service Integrator V9.7.0 Java EE運用ガイド
FUJITSU Software

2.1.10 アウトバウンドMQアダプタのチューニング

アウトバウンドのMQアダプタでMQメッセージを送信する場合のチューニングについて説明します。

2.1.10.1 アダプタ同時呼出し数

ISIサーバからアウトバウンドMQアダプタを呼び出す場合の同時呼出し数を定義します。アダプタの同時呼出し数として、以下が設定できます。

アウトバウンドMQアダプタの同時呼出し数は、asadmin setコマンドで設定します。asadminコマンドの詳細は、“Interstage Application Server Java EE運用ガイド(Java EE 6編)”の“コネクタ接続プールの定義項目”を参照してください。

実行例

<Interstageインストールディレクトリ>\F3FMisje6\glassfish\bin\asadmin set resources.connector-connection-pool.esimqadapter-Unit01.max-pool-size=64
<Interstageインストールディレクトリ>\F3FMisje6\glassfish\bin\asadmin set resources.connector-connection-pool.esimqadapter-Unit01.max-wait-time-in-millis=120000

/opt/FJSVisje6/glassfish/bin/asadmin set resources.connector-connection-pool.esimqadapter-Unit01.max-pool-size=64
/opt/FJSVisje6/glassfish/bin/asadmin set resources.connector-connection-pool.esimqadapter-Unit01.max-wait-time-in-millis=120000

Unit01:ISI実行環境名

設定項目の詳細については、“Interstage Application Server Java EE運用ガイド(Java EE 6編)”の“コネクタのチューニング”の“プール内の接続数”を参照してください。

2.1.10.2 同時処理数

アウトバウンドのMQアダプタが1つのMQキューへ同時に送信できるメッセージ数を定義します。アウトバウンドのMQアダプタの同時処理数については、以下が設定できます。

アウトバウンドのMQアダプタの同時処理数は、asadmin setコマンドで設定します。asadminコマンドの詳細は、“Interstage Application Server Java EE運用ガイド(Java EE 6編)”の“スレッドプールの定義項目”を参照してください。

実行例

<Interstageインストールディレクトリ>\F3FMisje6\glassfish\bin\asadmin set ISIMQO_000.thread-pools.thread-pool.ESIMQSendBean-ISIMQO_000.min-thread-pool-size=2
<Interstageインストールディレクトリ>\F3FMisje6\glassfish\bin\asadmin set ISIMQO_000.thread-pools.thread-pool.ESIMQSendBean-ISIMQO_000.max-thread-pool-size=200
<Interstageインストールディレクトリ>\F3FMisje6\glassfish\bin\asadmin set ISIMQO_000.thread-pools.thread-pool.ESIMQSendBean-ISIMQO_000.idle-thread-timeout-seconds=900

/opt/FJSVisje6/glassfish/bin/asadmin set ISIMQO_000.thread-pools.thread-pool.ESIMQSendBean-ISIMQO_000.min-thread-pool-size=2
/opt/FJSVisje6/glassfish/bin/asadmin set ISIMQO_000.thread-pools.thread-pool.ESIMQSendBean-ISIMQO_000.max-thread-pool-size=200
/opt/FJSVisje6/glassfish/bin/asadmin set ISIMQO_000.thread-pools.thread-pool.ESIMQSendBean-ISIMQO_000.idle-thread-timeout-seconds=900

ISIMQO_000:インバウンドのMQアダプタのIJServerクラスタ名

設定項目の詳細については、“Interstage Application Server Java EE運用ガイド(Java EE 6編)”の“EJBコンテナのチューニング”の“スレッドプーリング”を参照してください。

2.1.10.3 Java VMヒープ領域サイズ

送信するメッセージのサイズが大きくアウトバウンドのMQアダプタでメモリ不足が発生する場合、MQアダプタのJava VMヒープ領域をチューニングすることで、メモリ不足を解消できます。ヒープ領域サイズの見積もりについては、“ISI Java EE導入ガイド”の“メモリ容量の見積り”を参照してください。

アウトバウンドのMQアダプタのJava VMヒープサイズは、asadmin create-jvm-optionsコマンドで設定します。asadminコマンドの詳細は、“Interstage Application Server Java EE運用ガイド(Java EE 6編)”の“Java VMの定義項目”を参照してください。

実行例

<Interstageインストールディレクトリ>\F3FMisje6\glassfish\bin\asadmin create-jvm-options --target ISIMQO_000 \-Xmx256m:\-XX\:MaxPermSize=128m

/opt/FJSVisje6/glassfish/bin/asadmin create-jvm-options --target ISIMQO_000 \\-Xmx256m:\\-XX\\:MaxPermSize=128m

ISIMQO_000:ISIサーバのIJServerクラスタ名

2.1.10.4 複数プロセス運用

アウトバウンドのMQアダプタにサーバーインスタンスを追加することで、同一のMQキューに対し、複数のプロセスでメッセージ送信を行うことができます。

サーバーインスタンスの追加と削除の手順は、以下のとおりです。以下の手順で使用するasadminコマンドの詳細は、“Interstage Application Server Java EE運用ガイド(Java EE 6編)”の“asadmin”を参照してください。

サーバーインスタンスを追加する場合

  1. アウトバウンドのMQアダプタの停止

    アウトバウンドのMQアダプタを停止します。詳細は、“1.1.2 停止”の“アウトバウンドのMQアダプタの停止”を参照してください。

  2. サーバーインスタンスの追加

    asadmin create-local-instanceコマンドを実行し、アウトバウンドのMQアダプタのIJServerクラスタにサーバーインスタンスを追加します。

    実行例

    <Interstageインストールディレクトリ>\F3FMisje6\glassfish\bin\asadmin create-local-instance --cluster ISIMQO_000 ISIMQO_000i2

    /opt/FJSVisje6/glassfish/bin/asadmin create-local-instance --cluster ISIMQO_000 ISIMQO_000i2

    ISIMQO_000:アウトバウンドのMQアダプタのIJServerクラスタ名

    ISIMQO_000i2:追加するサーバーインスタンス名

  3. ホスト名/ポート番号の編集

    以下のファイルの“com.fujitsu.esi.mq.apserver.iiop_endpoint”に、追加したサーバーインスタンスのホスト名とIIOP_LISTENER_PORTのポート番号を追加します。

    ファイル名

    <INSDIR>\etc\jee\server\ISI実行環境名\resource\MQアダプタ名\config.properties

    /opt/FJSVesi/etc/jee/server/ISI実行環境名/resource/MQアダプタ名/config.properties

    com.fujitsu.esi.mq.apserver.iiop_endpoint=localhost:29700,localhost:29701

    ポイント

    IIOP_LISTENER_PORTのポート番号は、以下のどちらかで確認できます。

    • asadmin create-local-instanceコマンドの実行結果

    • asadmin list-system-propertiesコマンド

サーバーインスタンスを削除する場合

  1. アウトバウンドのMQアダプタの停止

    アウトバウンドのMQアダプタを停止します。詳細は、“1.1.2 停止”の“アウトバウンドのMQアダプタの停止”を参照してください。

  2. ホスト名/ポート番号の編集

    以下のファイルの“com.fujitsu.esi.mq.apserver.iiop_endpoint”から、削除するサーバーインスタンスのホスト名とIIOP_LISTENER_PORTのポート番号を削除します。

    ファイル名

    <INSDIR>\etc\jee\server\ISI実行環境名\resource\MQアダプタ名\config.properties

    /opt/FJSVesi/etc/jee/server/ISI実行環境名/resource/MQアダプタ名/config.properties

    ポイント

    IIOP_LISTENER_PORTのポート番号は、asadmin list-system-propertiesコマンドで確認できます。

  3. サーバーインスタンスの削除

    asadmin delete-local-instanceコマンドを実行し、サーバーインスタンスを削除します。

    実行例

    <Interstageインストールディレクトリ>\F3FMisje6\glassfish\bin\asadmin delete-local-instance ISIMQO_000i2

    /opt/FJSVisje6/glassfish/bin/asadmin delete-local-instance ISIMQO_000i2

    ISIMQO_000i2:削除するサーバーインスタンス名

サーバーインスタンスの数は、以下を考慮して設計します。

信頼性要件

業務リクエストを受信するJava VMプロセスがダウンした場合でも、他のプロセスで運用を継続できます。

Java VMのメモリ使用量

メモリを多く使用するようなメッセージを受信する場合、1プロセスあたりのメモリ使用量を削減できる可能性があります。なお、サーバーインスタンスを増やすと、システム全体のメモリ使用量が増加する場合があるため注意してください。

負荷状況

高負荷状況では、サーバーインスタンスを増やすことでスループットが向上する場合があります。

注意

複数プロセスにおける注意事項
  • 設定値の妥当性は、必ず負荷試験を実施して確認してください。

  • サーバーインスタンスを追加する場合は、物理メモリなどのシステム資源が十分かどうか確認してください。

  • デフォルトで作成されているサーバーインスタンス(アウトバウンドMQアダプタ名i)は削除しないでください。

  • 以下のファイルの“com.fujitsu.esi.mq.apserver.iiop_endpoint”に記載されている、デフォルトで作成されているサーバーインスタンスのホスト名とIIOP_LISTENER_PORTのポート番号の値は削除しないでください。

    <INSDIR>\etc\jee\server\ISI実行環境名\resource\MQアダプタ名\config.properties

    /opt/FJSVesi/etc/jee/server/ISI実行環境名/resource/MQアダプタ名/config.properties

2.1.10.5 IIOPリスナーのポート番号変更

デフォルトで作成されているサーバーインスタンスや追加したサーバーインスタンスの、IIOPリスナーのポート番号を変更する場合は、ポート番号を変更したあとに、以下のファイルを編集する必要があります。

“com.fujitsu.esi.mq.apserver.iiop_endpoint”のポート番号を、変更後のIIOPリスナーのポート番号に修正してください。

ファイル名

<INSDIR>\etc\jee\server\ISI実行環境名\resource\MQアダプタ名\config.properties

/opt/FJSVesi/etc/jee/server/ISI実行環境名/resource/MQアダプタ名/config.properties

com.fujitsu.esi.mq.apserver.iiop_endpoint=localhost:29701