メソッドのプロファイル

メソッドのプロファイルにより、ほとんどのリソースを消費するメソッドを知ることができます。

注: IBM® SDK for Node.js の場合、プロファイル・データの収集がデフォルトで無効になっています。 com.ibm.diagnostics.healthcenter.data.profiling=on プロパティーを使用するか (詳しくは Health Center エージェントの構成を参照)、あるいは稼働アプリケーションに接続した後、クライアント GUI で (詳しくは 生成されるデータ量の制御 を参照) 収集を有効にできます。

「プロファイル作成」パースペクティブには、メソッドのプロファイルおよび呼び出し階層が表示されます。 プロファイラーは、定期的にサンプルを取得して 実行中のメソッドを調べます。 頻繁に呼び出されるメソッドまたは完了までに長い時間がかかっているメソッドのみが表示されます。

インライン化

Health Center において、メソッドの集合は、ツリーと呼ばれる構造に編成されます。 インライン化は、 小規模なメソッドのツリーを呼び出し元のツリーに併合する プロセスです。 インライン化により、頻繁に実行されるメソッド呼び出しが高速化されます。Java アプリケーションの場合、コンパイラーは、final と指定されていないメソッドをインライン化することもあります。 メソッドをインライン化すると、そのメソッドはメソッド・プロファイルに登録されません。 メソッドは短時間だけホットと表示された後、メソッド・プロファイル・テーブルの下部に表示されます。 その結果、呼び出し側メソッドでの消費時間が突然増加します。

統計プロファイル

プロファイラーは 統計プロファイラーであり、実行されるすべてのメソッドを記録するのではなく、 呼び出しスタックを定期的にサンプリングします。 実行頻度が低いメソッドや短時間で実行されるメソッドは、プロファイル・リストに表示されないことがあります。 ジャストインタイム (JIT) のコンパイラーによってコンパイルされたメソッドのプロファイルは作成されますが、インライン化されたメソッドのプロファイルは作成されません。

パフォーマンスのチューニング

コードを最適化したときに大きな効果が得られるのは、ほとんどの時間がアプリケーション・コードの実行で費やされる場合のみです。 入出力、ロック、または ガーベッジ・コレクションで時間を費やしている場合、パフォーマンスのチューニングは、これらの該当する領域で実行してください。Health Center は、問題を起こしそうなガーベッジ・コレクションやロックへの注意を促します。



© Copyright IBM Corporation 2007, 2015.
© Copyright 1997, 2015, Oracle and/or its affiliates.