入門: パフォーマンス・ボトルネック検出

パフォーマンス・ボトルネックとは、ご使用のアプリケーションにおいて、 アプリケーションのしかるべき速度での実行が妨げられる場所を指します。「プロファイルおよびロギング」パースペクティブには、パフォーマンスを検査し、ボトルネックを検出するための ビューが組み込まれています。

以下のビューを使用して、パフォーマンス・ボトルネックを検出することができます。

パフォーマンス・ボトルネック検出のためのデータ収集

前提条件:
  • データを収集するマシンで、Agent Controller が実行されていなければなりません。 詳しくは、インストール・ガイドを参照してください。
    注: 分散プログラムでのクライアント/サーバー間の呼び出しを分析する場合には、Agent Controller を使用してデータを収集することはできません。 その代わりに、IBM Rational Performance Optimization Toolkit for Rational Performance Tester の、 使用可能な Tivoli ARM データ・コレクターと、それを使用するための文書とを使用します。プログラムのデータをトレース・ファイル (trcxml ファイル) に転送した場合、『パフォーマンス・データのインポート』をお読みください。
  • プロファイル構成を作成する必要があります。『入門: ランタイム問題判別のためのプロファイル構成の作成』をお読みください。

データを収集するには次の手順を実行します。
  1. 「プロファイル」ダイアログ・ボックスの「プロファイル」タブで、以下のいずれかのプロファイル・セットを選択する。
    • 実行ヒストリー - パフォーマンス呼び出しグラフ (Execution History - Performance Call Graph)」。このプロファイル・セットには、「パフォーマンス呼び出しグラフ分析 (Performance Call Graph Analysis)」プロファイル・タイプが含まれています。このプロファイル・タイプは、データ収集プロセスを促進するために短縮フォーマットを使用してデータを収集します。このプロファイル・タイプでは、「UML2 シーケンス図」ビューを除く、パフォーマンス・ボトルネック検出用のすべての ビューがサポートされます。
    • 実行ヒストリー - フル・グラフの詳細 (Full Graphical Detail)」」。このプロファイル・セットには、「実行時間分析」プロファイル・タイプが含まれています。このプロファイル・タイプでは、パフォーマンス・ボトルネック検出用のすべてのビューがサポートされます。
  2. プロファイル」をクリックして、ご使用のアプリケーションを開始する。
  3. アプリケーションを使用して、パフォーマンス・ボトルネックについて調査したいルーチンを実行する。パフォーマンス・データが収集され、「パフォーマンス呼び出しグラフ (Performance Call Graph) 」または「実行時間分析」のプロファイル・リソースに記録されます。これらの情報は、共に「プロファイル・ナビゲーター (Profiling Navigator)」に表示されます。これでアプリケーションを終了することができます。

パフォーマンス・ボトルネックを検出するための「パフォーマンス呼び出しグラフ (Performance Call Graph)」および「メソッド詳細 (Method Details)」ビューの使用

「パフォーマンス呼び出しグラフ (Performance Call Graph)」ビューおよび「メソッド詳細 (Method Details)」ビューの両方とも、実行に関するすべての時刻指定パフォーマンス・データを表示します。「パフォーマンス呼び出しグラフ (Performance Call Graph)」ビューが実行全体のデータのグローバル表示を表すのに対し、「メソッド詳細 (Method Details)」ビューはメソッド別にデータを表示します。

パフォーマンス・ボトルネックを検出するには、以下の手順を実行します。
  1. 「パフォーマンス呼び出しグラフ (Performance Call Graph)」ビューを表示する: 収集済みのデータの「パフォーマンス呼び出しグラフ分析 (Performance Call Graph Analysis)」または「実行時間分析」プロファイル・リソースを右クリックし、次に「アプリケーションから開く」 > 「パフォーマンス呼び出しグラフ (Performance Call Graph)」とクリックする。
    • このグラフでは最初に、最大量の時間を費やす 20 個のメソッドに関するノードを表示します。
    • ノード間の線は、呼び出しパスを表します。太い線は、さらに高コストの呼び出しパスを表すために使用されます。
    • ノードを右クリックし、そのポップアップ・メニューからコマンドをクリックすると、 呼び出しグラフ内に表示されるデータを管理することができます。
  2. 必要以上に時間を費やしていると思われるメソッドを識別する。
  3. メソッドをダブルクリックして、「メソッド詳細 (Method Details)」ビューを開く。
  4. 「パフォーマンス呼び出しグラフ (Performance Call Graph)」および「メソッド詳細 (Method Details)」ビューを一緒に使用して、データ・セット全体を調べる。 新規のメソッドを選択する都度、2 つのビューは同期されます。
  5. メソッドのソース・コードを調べるには、(使用可能な場合は) これらのいずれかのビュー内でメソッドを右クリックし、「ソースを開く」をクリックする。

詳しくは、『パフォーマンス・ボトルネックの検出』をお読みください。

「実行統計 (Execution Statistics)」ビューの使用

このビューを使用すると、テーブルでパフォーマンス統計を調べることができます。これらのテーブルでは、パフォーマンスが最も悪いパッケージ、クラス、およびメソッドを切り分けるようにソートすることができます。これらのテーブルは、個々のメソッド、クラス、およびパッケージで費やされた時間の統計のみを表示し、呼び出しまたは呼び出し側の関係についての情報は示されません。

このビューを使用するには、以下の手順を実行します。
  1. 「実行統計 (Execution Statistics)」ビューを表示する: 収集済みのデータの「パフォーマンス呼び出しグラフ分析 (Performance Call Graph Analysis)」または「実行時間分析」プロファイル・リソースを右クリックし、次に「アプリケーションから開く」 > 「実行統計 (Execution Statistics)」とクリックする。
  2. パッケージ・レベルの情報 「パッケージ・レベルの情報 (Package-level information)」ボタン、クラス・レベルの情報 「クラス・レベルの情報 (Class-level information)」ボタン、またはメソッド・レベルの情報 「メソッド・レベルの情報 (Method-level information)」ボタン のアイコンをクリックして、データの表示を管理する。
  3. このビューを使用して、「パフォーマンス呼び出しグラフ (Performance Call Graph) 」および「メソッド詳細 (Method Details)」ビューを、可能性のあるボトルネックにフォーカスさせます。

「実行フロー」、「メソッド呼び出し」、および「UML2 シーケンス図」ビューの使用

これらのビューを使用すると、同じメソッドが呼び出されるさまざまな方法を区別することができます。メソッド呼び出しデータおよび実行フロー・データは、グラフィック形式か、表形式で表示できます。

これらのビューを使用するには、以下の手順を実行します。
  1. ご使用のコード内でパフォーマンス上の問題がある可能性のある場所を調べるには、 「パフォーマンス呼び出しグラフ分析 (Performance Call Graph Analysis)」または「実行時間分析」プロファイル・リソースを 右クリックし、次に「アプリケーションから開く」 > 「実行フロー」とクリックする。 このビューには、プログラム実行の全体が表示されます。ズームインして問題の場所にフォーカスすることができます。ビューの最下端の状況表示行には、カーソルをメソッド呼び出しの上に移動すると累積時間の値が表示されます。

    「実行フロー」ビュー内で右クリックしてから、 「実行テーブルの表示」をクリックすることで、この情報と同じものが表形式で表示されます。

  2. メソッドの単一の呼び出しのデータを表示するには、 「実行フロー」または「実行フロー・テーブル」ビュー内の該当の呼び出しを選択し、 右クリックしてから、「メソッド呼び出しの表示」をクリックする。 ズーム・モードの場合は、メソッドを選択できないことに注意してください。
  3. すべてのメソッド呼び出しのデータを表示するには、 「メソッド呼び出し」ビュー内で右クリックしてから「呼び出しテーブルの表示」をクリックし、「メソッド呼び出しテーブル」ビューを開く。
  4. 同じデータを UML2 シーケンス図の形式 (「実行時間分析」プロファイル・タイプを使用した場合、使用可能です) で調べるには、収集したデータの「実行時間分析」プロファイル・リソースを右クリックし、次に 「アプリケーションから開く」をクリックすると、分析したい相互作用タイプの UML2 ビューが表示される。
フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.