ISIサーバのチューニングについて説明します。
ISIサーバが同時に処理するリクエスト数に関連する項目を定義します。同時処理数に関連する項目は以下があります。
最小プールサイズ
最大プールサイズ
アイドルタイムアウト
各項目の詳細、設定値の算出方法は、“Interstage Application Server Java EE運用ガイド(Java EE 6編)”の“EJBコンテナのチューニング”の“スレッドプーリング”を参照してください。
各項目の値はasadmin setコマンドで設定します。設定の詳細は、“Interstage Application Server Java EE運用ガイド(Java EE 6編)”の“スレッドプールの定義項目”を参照してください。
実行例
<Interstageインストールディレクトリ>\F3FMisje6\glassfish\bin\asadmin set ISISrv.thread-pools.thread-pool.ESISequenceController-ISISrv.min-thread-pool-size=2 <Interstageインストールディレクトリ>\F3FMisje6\glassfish\bin\asadmin set ISISrv.thread-pools.thread-pool.ESISequenceController-ISISrv.max-thread-pool-size=200 <Interstageインストールディレクトリ>\F3FMisje6\glassfish\bin\asadmin set ISISrv.thread-pools.thread-pool.ESISequenceController-ISISrv.idle-thread-timeout-seconds=900
/opt/FJSVisje6/glassfish/bin/asadmin set ISISrv.thread-pools.thread-pool.ESISequenceController-ISISrv.min-thread-pool-size=2 /opt/FJSVisje6/glassfish/bin/asadmin set ISISrv.thread-pools.thread-pool.ESISequenceController-ISISrv.max-thread-pool-size=200 /opt/FJSVisje6/glassfish/bin/asadmin set ISISrv.thread-pools.thread-pool.ESISequenceController-ISISrv.idle-thread-timeout-seconds=900
※ISISrv:ISIサーバのIJServerクラスタ名
ISIサーバのJava VMヒープ領域サイズを定義します。ヒープ領域サイズの見積もりについては、“ISI Java EE導入ガイド”の“メモリ容量の見積り”を参照してください。
ISIサーバの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 ISISrv \-Xmx256m:\-XX\:MaxPermSize=128m
/opt/FJSVisje6/glassfish/bin/asadmin create-jvm-options --target ISISrv \\-Xmx256m:\\-XX\\:MaxPermSize=128m
※ISISrv:ISIサーバのIJServerクラスタ名
ISIサーバにサーバーインスタンスを追加することで、同一の業務リクエストを複数のプロセスで処理することができます。
サーバーインスタンスの追加と削除の手順は、以下のとおりです。以下の手順で使用するasadminコマンドの詳細は、“Interstage Application Server Java EE運用ガイド(Java EE 6編)”の“asadmin”を参照してください。
サーバーインスタンスを追加する場合
ISIサーバの停止
ISIサーバを停止します。詳細は、“1.1.2 停止”の“ISIサーバの停止”を参照してください。
サーバーインスタンスの追加
asadmin create-local-instanceコマンドを実行し、ISIサーバのIJServerクラスタにサーバーインスタンスを追加します。
実行例
<Interstageインストールディレクトリ>\F3FMisje6\glassfish\bin\asadmin create-local-instance --cluster ISISrv_Unit01 ISISrv_Unit01_ins2
/opt/FJSVisje6/glassfish/bin/asadmin create-local-instance --cluster ISISrv_Unit01 ISISrv_Unit01_ins2
※ISISrv_Unit01:ISIサーバのIJServerクラスタ名
※ISISrv_Unit01_ins2:追加するサーバーインスタンス名
ISI実行環境設定ファイルの編集
ISI実行環境設定ファイルの“com.fujitsu.esi.apserver.iiop_endpoints”の値に、追加したサーバーインスタンスのホスト名とIIOP_LISTENER_PORTのポート番号を追加します。
ISI実行環境設定ファイルの詳細は、“ISI Java EE導入ガイド”の“環境のカスタマイズ”を参照してください。
例
com.fujitsu.esi.apserver.iiop_endpoints=localhost:29700,localhost:29701
ポイント
IIOP_LISTENER_PORTのポート番号は、以下のどちらかで確認できます。
asadmin create-local-instanceコマンドの実行結果
asadmin list-system-propertiesコマンド
サーバーインスタンスを削除する場合
ISIサーバの停止
ISIサーバを停止します。詳細は、“1.1.2 停止”の“ISIサーバの停止”を参照してください。
ISI実行環境設定ファイルの編集
ISI実行環境設定ファイルの“com.fujitsu.esi.apserver.iiop_endpoints”から、削除するサーバーインスタンスのホスト名とIIOP_LISTENER_PORTのポート番号を削除します。
ISI実行環境設定ファイルの詳細は、“ISI Java EE導入ガイド”の“環境のカスタマイズ”を参照してください。
ポイント
IIOP_LISTENER_PORTのポート番号は、asadmin list-system-propertiesコマンドで確認できます。
サーバーインスタンスを削除します。
asadmin delete-local-instanceコマンドを実行し、サーバーインスタンスを削除します。
実行例
<Interstageインストールディレクトリ>\F3FMisje6\glassfish\bin\asadmin delete-local-instance ISISrv_Unit01_ins2
/opt/FJSVisje6/glassfish/bin/asadmin delete-local-instance ISISrv_Unit01_ins2
※ISISrv_Unit01_ins2:削除するサーバーインスタンス名
サーバーインスタンスの数は、以下を考慮して設計します。
業務リクエストを受信するJava VMプロセスがダウンした場合でも、他のプロセスで運用を継続できます。
メモリを多く使用するようなメッセージを受信する場合、1プロセスあたりのメモリ使用量を削減できる可能性があります。なお、サーバーインスタンスを増やすと、システム全体のメモリ使用量が増加する場合があるため注意してください。
高負荷状況では、サーバーインスタンスを増やすことでスループットが向上する場合があります。
注意
設定値の妥当性は、必ず負荷試験を実施して確認してください。
サーバーインスタンスを追加する場合は、物理メモリなどのシステム資源が十分かどうか確認してください。
デフォルトで作成されているサーバーインスタンス(ISIサーバ名_ins)は削除しないでください。
ISI実行環境設定ファイルの“com.fujitsu.esi.apserver.iiop_endpoints”に記載されている、デフォルトで作成されているサーバーインスタンスのホスト名とIIOP_LISTENER_PORTのポート番号の値は削除しないでください。ISI実行環境設定ファイルの詳細は、“ISI Java EE導入ガイド”の“環境のカスタマイズ”を参照してください。
ISIサーバとアウトバウンドのCORBAアダプタの間の通信データサイズを定義します。通信データサイズについては、“Interstage Application Server Java EE運用ガイド(Java EE 6編)”の“ORBのチューニング”の“通信データサイズに関する注意事項”を参照してください。
ISIサーバの通信データサイズは、asadmin create-jvm-optionsコマンドで設定します。asadminコマンドの詳細は、“Interstage Application Server Java EE運用ガイド(Java EE 6編)”の“Java VMの定義項目”を参照してください。
-Dcom.sun.corba.ee.transport.ORBMaximumReadByteBufferSize=設定値(byte)
実行例
<Interstageインストールディレクトリ>\F3FMisje6\glassfish\bin\asadmin create-jvm-options --target ISISrv \-Dcom.sun.corba.ee.transport.ORBMaximumReadByteBufferSize=256000
/opt/FJSVisje6/glassfish/bin/asadmin create-jvm-options --target ISISrv \\-Dcom.sun.corba.ee.transport.ORBMaximumReadByteBufferSize=256000
※ISISrv:ISIサーバのIJServerクラスタ名
デフォルトで作成されているサーバーインスタンスや追加したサーバーインスタンスの、IIOPリスナーのポート番号を変更する場合は、ポート番号を変更したあとに、ISI実行環境設定ファイルを編集する必要があります。
ISI実行環境設定ファイルの“com.fujitsu.esi.apserver.iiop_endpoints”のポート番号を、変更後のIIOPリスナーのポート番号に修正してください。
ISI実行環境設定ファイルの詳細は、“ISI Java EE導入ガイド”の“環境のカスタマイズ”を参照してください。
例
com.fujitsu.esi.apserver.iiop_endpoints=localhost:29701