パフォーマンス・データの表示および分析

パフォーマンス・データを表示および分析するための基本となるビューは、 「パフォーマンス呼び出しグラフ (Performance Call Graph)」ビューと「メソッド詳細 (Method Details)」ビューです。 これらのビューは、「実行統計」、「メソッド呼び出し」、「実行フロー」、および「UML2 シーケンス図」ビューで補足することができます。

前提条件:パフォーマンス・データの収集』または『パフォーマンス・データのインポート

  1. 「プロファイル・モニター」のプロファイル・リソースを右クリックし、次に 「アプリケーションから開く」 > 「パフォーマンス呼び出しグラフ」とクリックして、「パフォーマンス呼び出しグラフ」ビューを開く。 次のように、表示するデータに基づいて、プロファイル・リソースを選択します。
    • 単一のマシン上で実行されているプログラムの単一実行のデータを表示するには、「パフォーマンス呼び出しグラフ分析」または「実行時分析」プロファイル・リソースを右クリックします。
    • プログラムの複数実行のデータを表示するには、すべてのプロセスの収集データを含むホスト を右クリックします。
    • サーバーおよびクライアント上で収集された分散プログラムのデータを表示するには、サーバーおよびクライアントの収集データを含むモニター を右クリックします。
      注: 複数実行または分散プログラムのデータを表示するには、「プロファイル・モニター」ドロップダウン・メニューの「分散レイアウト」をオンにします。

    デフォルトで呼び出しグラフに表示される情報は以下のとおりです。

    • プロファイル実行において最も時間を費やすノードのうち、上位 20 個と、グラフ左側に表示される 1 つ以上の「要約」ノード。これらのノードは、次のレベルで費やされた時間の合計を表します。
      • プロセス
      • 複数のプロセスのデータを表示している場合は、ホストおよびプロセス
      • サーバー・データおよびクライアント・データを表示している場合は、モニター、ホスト、およびプロセス

      プロセス、ホスト、モニターを表現するほかにも、ノード はメソッドやスレッドを表現することができます。

      グラフの一番左にあるノードは、その他すべてのノードがその下位に属する、ルート・ノードといいます。

    • プロファイル実行時のプログラムの動的呼び出し構造を、ノードをリンクするアークによって表示したもの。 最も高コストの呼び出しパスは、一番太い線で表されます。
    • 呼び出しグラフ内の各ノードおよびアークの詳細なパフォーマンス情報。 この情報は、ツール・チップで表示されます。ツール・チップは、ノードまたはアークの上にマウス・カーソルを一時停止させると、表示されます。
    • 分散アプリケーションの場合、破線はサーバーおよびクライアント全体にあるメソッドの呼び出しを表現します。クライアント・サイドのメソッドは、スタブ・メソッドを再表示します。これは、対応するサーバー・サイドにある真メソッドです。
  2. 呼び出しグラフ内の任意のメソッドをダブルクリックして、「メソッド詳細 (Method Details)」ビューを開く。このビューは、個々のメソッドのビューの観点からパフォーマンス・データを表示します。 「パフォーマンス呼び出しグラフ (Performance Call Graph)」または「メソッド詳細 (Method Detail)」ビューのいずれかでメソッドをクリックすると、一方のビューが同期化されるだけでなく、ロギングおよびプロファイルのビューもすべて開かれます。
  3. 予期外に時間を費やしているメソッドおよび呼び出しパスについてデータを調べる。 両方のビューとも、同じパフォーマンス・データを表示しますが、形式が異なります。次のようなデータ項目は重要です。
    データ項目 説明
    呼び出し元 (Caller) メソッドで、別のメソッド (その子孫) への呼び出しを起こしたもの。
    子孫 (Descendant) メソッドで、別のメソッド (その呼び出し元) によって呼び出されたもの。
    呼び出し数 (Calls) 呼び出し元によって子孫に行われた呼び出しの数。
    基本時間 子孫メソッド用の時間を除外した、選択メソッドの合計時間。
    累積時間 選択されているメソッドの「基本時間」と、その子孫のメソッドで代りに費やされた時間の合計。
    伝搬時間 (Propagated Time) 「子孫 (Descendant)」で、その「呼び出し元 (Caller)」の代わりに費やされた合計時間。「メソッド詳細 (Method Detail)」ビューの「呼び出し元 (Callers)」 の場合、「伝搬時間 (Propagated Time)」は、現在表示されているメソッドに伝搬された時間であり、 「子孫 (Descendants)」の場合、現在表示されているメソッドから伝搬された時間です。
以下のトピックで、パフォーマンス・ボトルネックを検出する際に役立つ追加情報が提供されています。
関連資料
「パフォーマンス呼び出しグラフ (Performance Call Graph)」ビュー
「パフォーマンス呼び出しグラフ (Performance Call Graph)」および「メソッド詳細 (Method Details)」ビューのデータ・コマンド
「メソッド詳細 (Method Details)」ビュー
フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.