このページでは、Performance Monitoring Infrastructure (PMI) および Tivoli Performance Viewer (TPV) を使用したモニター、データ収集、およびカウンターの一般的な概要を示します。
Performance Monitoring Infrastructure (PMI) には、 サーバー・サイド・モニターとパフォーマンス・データを検索するためのクライアント・サイド API が用意されています。 PMI は、複数のノードおよびサーバーなど、WebSphere Application Server ドメイン全体の統計データを保守します。 各ノードには、1 つ以上の WebSphere Application Server が含まれている場合があります。 各サーバーは、モジュールとサブモジュールに PMI データを編成します。
モジュールは、リソース・カテゴリーの 1 つを表しています。このリソース・カテゴリーに関して収集されたデータが、パフォーマンス・ビューアーに報告されます。各モジュールには、少なくとも 1 つの XML 形式の構成ファイルが含まれています。 これらのファイルには編成が定義されており、モジュール内の各パフォーマンス・データの固有 ID がリストされています。 モジュールには、エンタープライズ Bean、JDBC 接続プール、J2C 接続プール、 Java 仮想マシン (JVM) ランタイム (Java 仮想マシン・ツール・インターフェース (JVMTI) を含む)、 サーブレット・セッション・マネージャー、スレッド・プール、 トランザクション・マネージャー、Web アプリケーション、オブジェクト・リクエスト・ブローカー (ORB)、 ワークロード管理 (WLM)、Web サービス・ゲートウェイ (WSGW)、および動的キャッシュなどがあります。
Tivoli Performance Viewer は、WebSphere Application Server の管理コンソールに統合されたシン・クライアントです。 Performance Monitoring Infrastructure (PMI) によって提供されるパフォーマンス・データの簡単なビューアーを提供し、 ユーザーはカウンターのデータを見たり、操作したりすることができます。 いくつかのモジュールに特定のカウンター・タイプがある場合があります。 例えば、サーブレットおよび Enterprise Bean の両方のモジュールに、 応答時間カウンターがあります。また、1 つのカウンター・タイプが、モジュール内に複数のインスタンス を持つ場合もあります。 上記の図では、エンタープライズ Bean モジュールと Bean1 の両方に、平均メソッド RT カウンターがあります。
カウンターは、モジュール・レベルで使用可能にでき、モジュール内のエレメントに対して 使用可能/使用不可にすることができます。例えば、上記の図で、 Enterprise Bean モジュールが使用可能になっている場合、 その 平均メソッド RT カウンターはデフォルトで使用可能になります。 ただし、このモジュール・カウンターの残りが使用可能になっている場合でも、平均メソッド RT カウンターを使用不可にすることもできます。また、必要に応じて、 Bean1 に対して平均メソッド RT カウンターを使用不可にできますが、 その場合、モジュール全体に対して報告される集計応答時間には、Bean1 データが含まれなくなります。
WebSphere Application Server には、詳細な制御機能の一部として統計セットが用意されています。 これらは、PMI 統計を使用したシナリオに基づいた、定義済みの固定のサーバー・サイド・セットです。 PMI 仕様レベルには、 「なし」、「基本」、「拡張」、「すべて」、または「カスタム」があります。「なし」を選択すると、すべての PMI モジュールが無効になります。 「基本」を選択すると、基本レベルのモニターを行えるように、J2EE および基本セットの統計が提供されます。 「拡張」を選択すると、基本レベルのモニターとワークロード・モニター、パフォーマンス・アドバイザー、 および Tivoli リソース・モデルなどのより堅牢なモニター・セットが提供されます。 「すべて」を選択すると、すべての統計が使用可能になります。 「カスタム」を選択すると、詳細な制御で、統計を個々に使用可能または使用不可にできます。
統計には 2 つの状態しかありません。使用可能または使用不可です。 同期的更新を使用可能にするオプションを提供するために、WebSphere Application Server は PMI サービス・レベルで構成パラメーター、synchronizedUpdate を提供しています。 この属性が true の場合、すべての統計更新が同期化されます。 デフォルトでは、synchronizedUpdate パラメーターは false に設定されています。 管理コンソールの「順次カウンター更新を使用」チェック・ボックスを選択すると、 同期化された更新を使用可能にできます。 synchronizedUpdate パラメーターは、V5.0.x および V5.1x の「最大」レベルと同等になります。
データ収集は、アプリケーション・サーバーのパフォーマンスに影響を与えることがあります。この場合、使用可能にされているカウンターの数、有効にされているカウンターのタイプ、およびカウンターに関するモニター・レベルの設定によってその影響は異なります。
PerfMBean で getStatsObject および getStatsArray メソッドを介して PMI データにアクセスすることができます。 PerfMBean に MBean ObjectName (複数の場合もあり) を受け渡す必要があります。
AdminClient API を使用して、各 MBean タイプの MBean ObjectName を照会します。 すべての MBeans を照会し、MBean タイプと突き合わせるか、 または ストリング照会 = "WebSphere:type=mytype,node=mynode,server=myserver,*"; タイプ のストリング照会のみを使用します。
これに従って、mytype、mynode、および myserver の値を設定します。 AdminClient クラスを呼び出し、MBean ObjectNames を照会すると、 値が設定されます。 つまり、複数の ObjectNames を取得することができます。
直前の例では、 星印 (*) 付きの MBean タイプは、 サーバーに同じ MBean タイプの複数の ObjectNames が存在する可能性があることを意味しています。 この場合、ObjectNames はタイプと名前の両方で識別することができます (ただし、 mbeanIdentifier は MBeans の実際の UID です)。 ただし、MBean 名は事前定義されていません。 これらは、アプリケーションとリソースに基づいて、ランタイムに決定されます。 複数の ObjectNames を取得すると、任意の ObjectNames の配列を構成することができます。 その後、ObjectNames を PerfMBean に受け渡し、PMI データを取得することができます。使用できる オプションとしては、再帰的オプションおよび非再帰的オプションがあります。 再帰的オプションはユーザーに Stats および sub-stats オブジェクトをツリー構造で戻し、 非再帰的オプションはその MBean の Stats オブジェクトのみを戻します。 プログラミング情報について詳しくは 、>独自のモニター・アプリケーションの開発 を参照してください。