[z/OS]

ASF モードでのメッセージング・プロバイダーとして IBM MQ を使用した、z/OS でのメッセージ駆動型 Bean の処理の調整

z/OS® プラットフォームで WebSphere® Application Server を実行しており、IBM MQ をメッセージング・プロバイダーとして使用し、メッセージ駆動型 Bean を Application Server Facilities (ASF) モードでデプロイしている場合、メッセージ駆動型 Bean 処理を調整することができます。

始める前に

メッセージ駆動型 Bean 処理を調整する場合には、さまざまな設定についても考慮する必要があります。 ある特定のサーバーで実行可能なワークロードはさまざまで一定していないため、 考慮すべき値および可能性は広範囲に及びます。

メッセージ駆動型 Bean が永続サブスクリプションを介してキューまたはトピックにマップされる (つま り、listen する) と、JMS メッセージはまずアプリケーション・サーバーのコントローラーに入ります。 これを、サーバーがこれらのメッセージを「コントローラー内で listen している」といいます。 「コントローラー内で listen する」という用語は、 メッセージ駆動型 Bean 処理の調整の説明全体を通して使用されます。

このタスクについて

サーバーでのメッセージ駆動型 Bean 処理を調整する際には、 サーバーのワークロード全体の調整、および 2 つの間の相互作用も考慮する必要があります。

メッセージ駆動型 Bean 処理を調整する際には、以下のすべての設定についても考慮してください。
  • WLM サービス・クラス定義
  • WebSphere Application Server ワークロード・プロファイルの選択
  • メッセージ・リスナー・サービスのリスナー・ポート設定
  • JMS 接続ファクトリー・プールの設定
  • IBM MQ キュー・マネージャーの設定
ある特定のサーバーで実行可能なさまざまなワークロードを想定して、 これらの各設定で選択すべき値を推奨することは困難です。考慮すべき可能性は多岐にわたりますが、 例えば以下のような要因があります。
  • メッセージ駆動型 Bean の数。
  • 管理構成の選択項目 (2 つのメッセージ駆動型 Bean を同じリスナー・ポートにマップするか、異なるリスナー・ポートにマップするかなど)。
  • サーバーで実行中の他のタイプ (HTTP、IIOP) の処理と比べた、メッセージ駆動型 Bean の 処理の重要性。

以下に示す設定値は、サーバーに単一のアプリケーションのみが構成されており、 そのアプリケーションは、このサーバーにインストールされ実行されている単一のメッセージ駆動型 Bean から成る ことを前提にした場合の開始点です。

その設定値を提示する理由について詳細な説明を示し、 z/OS での 「コントローラー内で listen する」事例のリスナー・ポート機能についても詳しく説明します。 以下に示す設定値と説明は、ご使用の独自のシステムとサーバーに応じた独自の設定値を選択する際にも 役立ちます。

手順

  1. リスナー・ポートの最大セッション数プロパティーを、サーバー全体で使用可能なサーバント・ワーカー・スレッドの最大数の少なくとも 2 倍に設定します。 このプロパティーの値によって、 高しきい値が決定され (高しきい値 = セッションの最大数)、いつ要求をブロックして、いつ許可するのかを決定するためにスロットルによって使用されます。
    1. 管理コンソールを開始します。
    2. ナビゲーション・ペインで、「「リソース」 > 「JMS」->「JMS プロバイダー (JMS providers)」」をクリックします。メッセージ・リスナー・ポート・コレクション」パネルが表示されます。
    3. 作業するリスナー・ポートの名前を選択します。リスナー・ポート設定」パネルが表示されます。
    4. 最大セッション数」プロパティーを、メッセージ駆動型 Bean スロットルが その高しきい値として使用する値に設定します。 推奨の最小値は次の公式によって計算されます。
      2 * (サーバントの最大数) * (1 つのサーバント内のワーカー・スレッド数)

      ここで、「サーバント」は管理コンソールにおける「サーバー・インスタンス」と同じ意味です。 単一のサーバント内のワーカー・スレッド数を計算するには、ORB サービスの拡張設定にある『ワークロード・プロファイル』の説明を参照してください。

    リスナー・ポートの「最大セッション数」プロパティーの設定についてさらに学ぶには、z/OS でのメッセージ駆動型 Bean およびチューニング設定に関する情報を参照してください。

  2. IBM MQ キュー接続ファクトリーのプロパティーを設定します。
    1. この管理コンソール・ページを表示するには、「リソース」 > 「JMS」->「キュー接続ファクトリー」をクリックします。
    2. リスナー・ポートに指定されるキュー接続ファクトリーを選択します。
    3. 「追加プロパティー」で、「接続プール」パネルを選択します。
    4. 「接続プール」の「最大接続数」プロパティーを設定します。 メッセージ駆動型 Bean ごとに 1 つの接続を許可します。このプロパティーの値には、異なる複数のリスナー・ポートにマップされたメッセージ駆動型 Bean を含めることができます。ただし、これらのリスナー・ポートのそれぞれが同じ接続ファクトリーにマップされている場合に限ります。 この設定についてさらに学ぶには、z/OS でのメッセージ駆動型 Bean およびチューニング設定に関する情報を参照してください。
    5. キュー接続ファクトリーの「追加プロパティー」から、「セッション・プール」パネルを選択します。
    6. セッション・プールの「最大接続数」プロパティーを設定します。 単一サーバント内のワーカー・スレッドごとに 1 つのセッションを許可します。このプロパティーは、少なくとも単一のサーバントで使用可能なワーカー・スレッド数に設定してください。 この設定についてさらに学ぶには、z/OS でのメッセージ駆動型 Bean およびチューニング設定に関する情報を参照してください。
  3. IBM MQ 関連プロパティーを設定します。 バッキング IBM MQ キュー・マネージャーが、対象とする JMS ワークロード (WebSphere Application Server および他のクライアントから発生する) をサポートできるだけの十分なリソースで構成されていることを確認してください。 特に、キュー・マネージャーの CTHREAD、IDBACK、IDFORE という各パラメーターの設定について 考慮する必要があります。これらの IBM MQ 設定について詳しくは、IBM MQ インフォメーション・センターを参照してください。

  1. ご使用のサーバーが「最大サーバー・インスタンス」値を 3 に設定して構成されており (最小数の値には関係なく)、 ワークロード・プロファイルが LONGWAIT (各サーバントに 40 のワーカー・スレッド があることを意味します) である場合は、リスナー・ポートの 「最大セッション数」値を少なくとも
    240 = 2 * 3 * 40
    に設定してください。
  2. アプリケーションに個々の メッセージ駆動型 Bean が 2 つ含まれており、それぞれに、メッセージを別の JMS の宛先に転送する onMessage() が実装されているとします。 したがって、それぞれのメッセージ駆動型 Bean に、このタスクを完了するための専用の JMS 接続ファクトリーが必要です。 管理者が各メッセージ駆動型 Bean の JMS 接続ファクトリー・リソース参照を、管理者の定義した同じ接続ファクトリーにマップしており、その接続ファクトリーは、これらの各メッセージ駆動型 Bean がマップされているリスナー・ポートで使用されるとします。

    この場合は、接続ファクトリーの接続プール最大接続数の値を 42 に設定する必要があります。 リスナー・ポートで使用される 2 つのメッセージ駆動型 Bean のそれぞれに対して 1 つの接続、並行して実行される可能性のある 40 個の onMessage() ディスパッチのそれぞれに対して 1 つの接続です。 (接続のプールはサーバントごとのプールであることに注意してください。)

  3. サーバント数に関係なく、接続ファクトリーの「セッション・プール最大接続数」を 40 (単一サーバント内のワーカー・スレッド数) に設定します。

デバッグのヒントについては、[z/OS]z/OS でのデバッグ用の MDB スロットル・サポートの最適化を参照してください。


トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tprf_tunezmdb
ファイル名:tprf_tunezmdb.html