小さい頃はエラ呼吸

いつのまにやら肺で呼吸をしています。


OracleのStatspackレポートの見方(Load Profile)

はじめに

先日、業務ではじめてOracleのStatspackを使ってみました。
既存のプログラムの性能を改善する仕事で、修正前後の性能比較をStatspackを使って出力したレポートを比較し、その結果を簡単なグラフにしてお客様に説明しました。
そこで、この記事ではStatspackレポートのおけるLoad Profileの見方をまとめてみました。

新・門外不出のOracle現場ワザ エキスパートが明かす運用・管理の極意 (DB Selection)
小田 圭二 大塚 信男 五十嵐 建平 谷 敦雄 宮崎 博之 神田 達成 村方 仁
翔泳社
売り上げランキング: 119,868

Statspackレポートの出力方法

Statspackレポートの出力方法については、こちらの記事を参照してください。

Load Profileの見方

Load Profileには、レポート対象期間中の1秒あたり(Per Second)とトランザクションあたり(Per Transaction)の統計情報が出力されています。

項目名 意味
DB time(s) SQLの実行にかかった時間
DB CPU(s) SQLの実行にかかったCPU時間
Redo size 生成されたREDOログのサイズ(byte)
Logical reads アクセスしたブロック数
Block changes 変更されたブロック数
Physical reads ディスクから読み込んだブロック数
Physical writes ディスクに書き込んだブロック数
User calls ログイン、解析、フェッチ、実行などユーザ・コール数
Parses SQLの解析回数
Hard parses SQLのハードパース回数
W/A MB processed SQL作業領域の使用量
Logons ログオン数
Executes SQL実行回数(再帰SQL含む)
Rollbacks ロールバック回数
Transactions トランザクション数

ちなみに今回の性能改善では、forループで繰り返し実行していたクエリ呼び出し処理を、まとめて1度に取得するようにしたため、User callsやExecutesの値に大きな変化が見られました。