ページの先頭行へ戻る
Interstage Service Integrator V9.2.0 運用ガイド

2.2 機能のチューニング

ISIの機能をチューニングする場合、ISIサーバのチューニングを行う箇所と内容を、以下に示します。
チューニングの設定は、Interstage管理コンソールから設定します。なお、チューニング方法の詳細については、“Interstage Application Server チューニングガイド”を参照してください。

ISIサーバ分離構成のセットアップを行い、ISIサーバ、SOAPサーバ、CORBA受信サーバを追加している場合、それぞれのワークユニット名に識別子が追加された名前に読み替えてください。

図2.1 ISIサーバのチューニング箇所

(1)Webサービスクライアントの同時接続数

ISIサーバに対して、同時に要求を発行できるWebサービスクライアントの数を定義します。
[Interstage管理コンソール] > [Interstage Application Server] > [システム] > [サービス] > [Webサーバ] > [FJapache] > [環境設定]の[詳細設定]の [クライアントの同時接続数]で指定します。
初期値は、「50」です。

(2)Webサービスクライアントからのリクエスト同時処理数

SOAPメッセージの受信機能を利用する場合に、ISIサーバが同時に処理できるWebサービスクライアントからのリクエスト数を定義します。
[Interstage管理コンソール] > [Interstage Application Server] > [システム] > [ワークユニット] > [ESISOAPServer] > [環境設定] > [Servletコンテナ設定]の[Servletコンテナ]の[同時処理数]を指定します。

「(1)Webサービスクライアントの同時接続数」以上の値を指定します。
初期値は、同時処理数の初期値「16」、最大値「64」です。

(3) インバウンドキュー、アウトバウンドキューの同時処理数

インバウンドキューおよびアウトバウンドキューに格納されているメッセージを同時に取り出して処理する数を定義します。

  • インバウンドキューの同時処理数

    [Interstage管理コンソール] > [Interstage Application Server] > [システム] > [ワークユニット] > [ESIServer] > [ESIInboundQueue.jar] > [ESIInboundQueue] > [アプリケーション環境定義]の[Message-driven Bean拡張情報]の[初期起動インスタンス数]を指定します。

  • アウトバウンドキューの同時処理数

    [Interstage管理コンソール] > [Interstage Application Server] > [システム] > [ワークユニット] > [ESIServer_Outbound] > [ESISendQueue.jar] > [ESISendQueue] > [アプリケーション環境定義]の[Message-driven Bean拡張情報]の[初期起動インスタンス数]を指定します。

互換モードのISIサーバを運用している場合は以下を設定してください。

  • インバウンドキューの同時処理数

    [Interstage管理コンソール] > [Interstage Application Server] > [システム] > [ワークユニット] > [ESIServer] > [ESIServer.ear] > [esiejb.jar] > [ESIInboundQueue] > [アプリケーション環境定義]の[Message-driven Bean拡張情報]の[初期起動インスタンス数]を指定します。

  • アウトバウンドキューの同時処理数

    [Interstage管理コンソール] > [Interstage Application Server] > [システム] > [ワークユニット] > [ESIServer] > [ESIServer.ear] > [esiejb.jar] > [ESISendQueue] > [アプリケーション環境定義]の[Message-driven Bean拡張情報]の[初期起動インスタンス数]を指定します。

順番保証をする場合は、必ず「1」を指定してください。

初期値は、「1」です。

(4) シーケンスのリトライ回数

サービスエンドポイントの通信方式が非同期である場合、シーケンスのリトライ回数はInterstage Application Serverの“異常時のメッセージ退避機能”のリトライカウントで設定します。リトライカウントは以下の2箇所を指定してください。

  • [Interstage管理コンソール] > [Interstage Application Server] > [システム] > [ワークユニット] > [ESIServer] > [ESIInboundQueue.jar] > [ESIInboundQueue] > [アプリケーション環境定義]の[異常時メッセージ退避定義]の[リトライカウント]を指定します。

  • [Interstage管理コンソール] > [Interstage Application Server] > [システム] > [ワークユニット] > [ESIServer_Outbound] > [ESISendQueue.jar] > [ESISendQueue] > [アプリケーション環境定義]の[異常時メッセージ退避定義]の[リトライカウント]を指定します。

また、互換モードのISIサーバを運用している場合、シーケンスのリトライ回数はシーケンス定義で指定してください。指定方法の詳細については“ISI Studio ヘルプ”の“シーケンス情報を設定する”を参照してください。

(5)ISIサーバの同時処理数

ISIサーバが同時に処理するリクエスト数を定義します。
[Interstage管理コンソール] > [Interstage Application Server] > [システム] > [ワークユニット] > [ESIServer] > [環境設定]の[EJBコンテナ設定]の [IIOP呼び出しの同時処理数]を指定します。

初期値は、最小値「16」、最大値「64」です。

(6)ISIサーバ(Java VM)のヒープ領域サイズ

ISIサーバのJava VMヒープ領域サイズを定義します。

[Interstage管理コンソール] > [Interstage Application Server] > [システム] > [ワークユニット] > [ESIServer] > [環境設定]の[ワークユニット設定]の[JavaVMオプション]で指定します。

非同期メッセージング構成で運用している場合、上記に加えて以下を指定してください。

[Interstage管理コンソール] > [Interstage Application Server] > [システム] > [ワークユニット] > [ESIServer_Outbound] > [環境設定]の[ワークユニット設定]の[JavaVMオプション]で指定します。

初期値は、「256」Mバイトです。

Java VMヒープ領域サイズのチューニングの詳細は、“Interstage Application Server/Interstage Web Server チューニングガイド”の“JavaVMのヒープ領域サイズ”を参照してください。

(7)CORBA受信の同時処理数

CORBA受信が同時に処理できるCORBAクライアントからのリクエスト数を定義します。
[Interstage管理コンソール] > [Interstage Application Server] > [システム] > [ワークユニット] > [ESICORBARcv] > [ESICORBARcv] > [環境設定]の[詳細設定]の [CORBAアプリケーション]の [処理スレッド数]を指定します。
初期値は、最小値「16」、最大値「16」です。
「(4)ISIサーバの同時処理数」にあわせて初期値を変更してください。

(8)JMS-Rメッセージ格納DBのチューニング

JMS-Rメッセージを格納するDBのチューニング項目を、以下に示します。

  • DSIのメモリ常駐化

    JMS-Rメッセージを格納するDBのDSIをメモリ上に常駐化できます。JMS-Rキューで使用するDSI名を取得する方法を以下に説明します。

    また、以下のDSIをすべてのJMS-Rキューで共通で使用します。

    DSI_MSG_APFW_CHANNELINFOTBL
    IXDSI_MSG_APFW_CHANNELINFOTBL01
    IXDSI_MSG_APFW_CHANNELINFOTBL02
    DSI_APFW_MSG_DBINFOTBL
    IXDSI_APFW_MSG_DBINFOTBL01
    IXDSI_APFW_MSG_DBINFOTBL02
    IXDSI_APFW_MSG_DBINFOTBL03
    1. apfwdspmsgtblコマンドを使用して対象のJMS-Rキューのテーブル情報を取得します。

      コマンドの実行例

      apfwdspmsgtbl -e
    2. rdbprtコマンドを使用して、apfwdspmsgtblコマンドで取得したテーブル名を指定し、DSI情報を取得します。DSOごとに出力されるため、“DSI information”で出力されるすべてのDSIを抽出してください。

      コマンドの実行例

      rdbprt -d ESIMESSAGEDB -m DEF -f rdbprt.txt

      rdbprtコマンドを実行するためのテーブル名を記載した設定ファイル「rdbprt.txt」を作成します。

      テーブル名はapfwdspmsgtblコマンドで取得したテーブル名を設定してください。

      設定ファイル(rdbprt.txt)の記載例

      TABLE(APFW001.MSGINFOTBL0000000001 APFW001.WAITTBL0000000001)
    3. rdbresidentコマンドを実行し、メモリを常駐します。

      コマンドの実行例

      rdbresident -mon -f <rdbresident.txt>

      rdbresidentコマンドを実行するためのDSI名を列記した設定ファイル「rdbresident.txt」を作成します。

      設定ファイル(rdbresident.txt)の記載例

      ESIMESSAGEDB.ITMIAPFW0010000000001
      ESIMESSAGEDB.IIM1APFW0010000000001
      ESIMESSAGEDB.IIM2APFW0010000000001
      ESIMESSAGEDB.IIM3APFW0010000000001
      ESIMESSAGEDB.ITWAAPFW0010000000001
      ESIMESSAGEDB.IIW1APFW0010000000001
      ESIMESSAGEDB.IIW2APFW0010000000001
      ESIMESSAGEDB.DSI_MSG_APFW_CHANNELINFOTBL
      ESIMESSAGEDB.IXDSI_MSG_APFW_CHANNELINFOTBL01
      ESIMESSAGEDB.IXDSI_MSG_APFW_CHANNELINFOTBL02
      ESIMESSAGEDB.DSI_APFW_MSG_DBINFOTBL
      ESIMESSAGEDB.IXDSI_APFW_MSG_DBINFOTBL01
      ESIMESSAGEDB.IXDSI_APFW_MSG_DBINFOTBL02
      ESIMESSAGEDB.IXDSI_APFW_MSG_DBINFOTBL03


      
    常駐化するDSIサイズは、ISI導入時のモデルケース(small、moderate、large、super)によって異なります。モデルケース選択時に算出したキュー容量を、参考にしてください。
    モデルケースの詳細については、“ISI 導入ガイド”を参照してください。


  • データソースの事前コネクト数の設定

    JMS-Rメッセージを格納するDBで使用するデータソースのDBコネクションを、事前に接続する数を指定します。「(4)ISIサーバの同時処理数」と同じ数を指定します。
    [Interstage管理コンソール] > [Interstage Application Server] > [システム] > [ワークユニット] > [ESIServer] > [環境設定]の[DBコネクション設定] のesimsgdbのデータソースを選択し、[事前コネクト数]を必要な値に変更します。
    初期値は、「0」です。

  • JNDIキャッシュの有効化

    JMS-Rメッセージングで使用するJNDI名を事前にメモリ上に割り当てて保持します。JNDI名をキャッシュすると、JMS-Rを使用した非同期メッセージの性能向上が期待できます。
    以下の定義ファイルを編集します。

    <Interstageインストールディレクトリ>\EJB\etc\FJEJBconfig.properties

    設定ファイル(FJEJBconfig.properties)の記述例

    :
    LookupCache = 1 ……追加する
    :
(9)メッセージ蓄積データベースのチューニング

メッセージ蓄積データベースを使用する場合は、メッセージ蓄積データベースの自動拡張容量を変更します。
メッセージ蓄積データベースは、空き容量が少なくなると自動的に拡張されます。運用中に頻繁に自動拡張が動作し、処理性能に悪化が見られる場合は、自動拡張契機と拡張容量を変更することで性能劣化が解消します。
DB容量に合わせて事前に拡張容量を大きく確保しておくと、自動拡張が動作する契機が少なくなり、性能への影響を小さくできます。
rdbalmdsiコマンドを実行し、自動の拡張契機と容量を変更します。

rdbalmdsi -i ESIMESSAGEDB.DSI名 -c 拡張契機残容量  -e 拡張容量 -p ESIMESSAGEDB.ESIMESSAGEDBSPACE
表2.1 初期設定値

DSI名

格納データ

拡張契機残容量
(バイト)

拡張容量
(バイト)

INDATA_DSI_01
INDATA_DSI_02
INDATA_DSI_03
INDATA_DSI_04

インバウンドデータ

256K

10M

OUTDATA_DSI_01
OUTDATA_DSI_02
OUTDATA_DSI_03
OUTDATA_DSI_04

アウトバウンドデータ

256K

10M

コマンドの実行例

rdbalmdsi -i ESIMESSAGEDB.INDATA_DSI_01 -c 1M  -e 10M -p ESIMESSAGEDB.ESIMESSAGEDBSPACE