同時処理数は、メッセージ処理の実行多重度です。非同期ワークユニットで同時に処理できるメッセージの処理数は同時処理数で決まります。
同時処理数は、プロセス数と、1プロセスあたりのスレッド数で決まります。
同時処理数 = プロセス数 × 1プロセスあたりのスレッド数 |
システム構築シートを利用する場合には、「ワークユニット設定とアプリケーション情報の入力」シートで、プロセス数と、1プロセスあたりのスレッド数を指定します。
非同期ワークユニットの定義ファイルを直接編集する場合には、プロセス数は「Concurrency」ステートメント、スレッド数は「Thread Concurrency」ステートメントで指定します。
注意
本設定により、同時処理数を増やすことができますが、使用資源(CPU使用率、メモリ量など)の増加により、効果が見られない場合があります。環境に合わせ試験運用を行い、調整後に設定してください。
同時処理数は、1プロセスあたりのメッセージ処理の実行多重度です。IJServerで同時に処理できるメッセージの処理数は同時処理数で決まります。
業務処理実行アプリケーション、およびMessage-driven Beanとして実装する業務処理開始アプリケーションは、Message-driven Beanとして動作するため、同時処理数はInterstage管理コンソールの[Interstage Application Server] > [システム] > [ワークユニット] > “ワークユニット名” > “モジュール名” > “EJBアプリケーション名” > [アプリケーション環境定義]タブ画面の[初期起動インスタンス数]の設定値で指定します。
アプリケーション連携実行基盤を使用する場合、[初期起動インスタンス数]とイベントチャネルの最大接続数は以下の関係を満たすようにしてください。
初期起動インスタンス数 × 2 ≦ イベントチャネルの最大接続数 |
上記関係を満たしていない場合、メッセージの送受信が想定した同時処理数で動作せず、ボトルネックの原因となることがあります。なお、同時処理数はシステム構築シートを使用して算出することを推奨します。
ただし、業務処理実行アプリケーションとWebアプリケーションとして実装する業務処理開始アプリケーションを同一JavaVMで運用する場合の同時処理数は、Interstage管理コンソールの[Interstage Application Server] > [システム] > [ワークユニット] > “ワークユニット名” > [環境設定]タブ画面の[Servletコンテナ設定]の[同時処理数]で指定します。Servletコンテナ設定の同時処理数には、[システム] > [サービス] > [Webサーバ] > [環境設定]タブ > [詳細設定] > [クライアントの同時接続数]で指定した値以上の数値を設定する必要があります。
また、Message-driven Bean以外のEJBとして業務処理開始アプリケーションを実装する場合の同時処理数は、Interstage管理コンソールの[Interstage Application Server] > [システム] > [ワークユニット] > “ワークユニット名” > [環境設定]タブ画面の[EJBコンテナ設定]の[同時処理数]で指定します。
以下にメッセージ処理時間の測定方法を説明します。
アプリケーション連携実行基盤が提供する標準ログ機能の性能ログを用いることにより、メッセージの処理時間を計ります。
標準ログの利用方法については、“Interstage Business Application Server 運用ガイド(アプリケーション連携実行基盤編)”を参照してください。
以下の例を参考にし、出力されたログを抽出してください。
sendMessageメソッドを用いた業務処理開始アプリケーションから、業務フローの終点までの処理時間を測定する場合、出力されたログから“IBS-AP-PERFORMANCE”および“StartOfBusiness-ToEndingPoint”という文字列をキーにし、ログを抽出する。
sendMessageSyncメソッドを用いた業務処理開始アプリケーションを使用し、処理結果のメッセージの受信が完了するまでの処理時間を測定する場合、出力されたログから“IBS-AP-PERFORMANCE”および“StartOfBusiness-Return”という文字列をキーにし、ログを抽出する。
メッセージを発行した数分のログが抽出されます。
それぞれ、経過時間が出力されていますので、その値を元にチューニングを行ってください。
注意
同時処理数を変更することで、1プロセスあたりの実行多重度を増やすことができますが、同時処理数が増えることによる使用資源(CPU使用率、メモリ量など)の増加により、効果が見られない場合があります。
環境に合わせ試験運用を行い、調整後に設定してください。
メッセージ順序性保証を行う運用の場合、EJBコンテナ設定の同時処理数の最小と最大をともに1に指定、または、Servletコンテナ設定の同時処理数に1を指定してください。