情シスは何度でも甦るさ。

OracleDB/Ruby好きの情シス部員がお送りします

OEMのグラフの見方 平均アクティブセッション

久しぶりにOEMを覗いてグラフを見てたのですが、協力会社の人に、「この棒グラフって何なの」ってメトリックのグラフを聞かれる。

改めて聞かれると少し悩む。平均の折れ線グラフはわかるんだが、最小/最大/平均と書かれた棒グラフは正確には何なのだろうか。とりあえず、一番上が最大だと思うんだが・・・。

で、色々調べた結果、箱ひげ図のようなものであることがわかった。
正確には、違うんだが。下が最小値、上が最大値、そして、平均に印がある。
こっちのグラフだとわかりやすい。



あと、もう一つパフォーマンスの平均アクティブ・セッションの縦軸も何なのかよくわからん。

ここは、マニュアル(Oracle® Database 2日でパフォーマンス・チューニング・ガイド)を参照してみる。

平均アクティブ・セッションとは、期間中のすべてのユーザー・セッションの合計データベース時間を、期間の経過時間(wall-clock時間)で割った数値です。

「パフォーマンス」ページの「平均アクティブ・セッション」グラフには、期間のCPU使用率および待機クラスの平均アクティブ・セッションが表示されます。

待機クラスのユーザーセッション合計DB時間 ÷ 経過時間?
縦軸が1だったら、ユーザーセッション1つが100%待機してたってことなのか?

積上げ面グラフの色付きの各領域には、指定された期間の指定されたイベントの平均アクティブ・セッションが表示されます。グラフで、各イベントの平均アクティブ・セッション量は、その下に積み上げられています。イベントは凡例に示されている順序でグラフに表示され、CPUはY軸でゼロから開始し、他のイベントはCPU待機からその他に昇順で積み上げられます。待機クラスでは、ディスクI/Oなどのリソースに対する待機によって、どのくらいのデータベース・アクティビティが使用されているのかが表示されます。


たとえば、図4-1では、午後1時26分前後に、5つのイベント(「CPU」、「CPU待機」、「スケジューラ」、「並行性」および「その他」)がサンプリングされた時間間隔でデータベース時間を消費しています。結合した平均アクティブ・セッションの合計は、2.1です。平均アクティブ・セッション値はCPUでは約1.52、CPU待機では約.38、スケジューラでは約.03、並行性では約.16、その他では約.01です。


Y軸の2の「CPUコア」ラインは、ホスト・システムのCPU数を示します。「CPU」の値が「CPUコア」のラインに達した場合は、データベース・インスタンスがシステムのCPU時間を100%消費しています。


図4-1では、グラフによって、ほとんどのアクティビティが1時20分から1時28分および1時53分前後から2時20分の間に発生していることがわかります。1時20分から1時28分の間のほとんどのアクティビティおよび1時59分以降のほとんどのアクティビティは、CPUの使用でした。待機クラスのアクティビティでは、1時56分から2時12分の間に数回スパイクが発生し、1時52分前後から2時8分前後の間に大量のデータベース時間を消費しています。

うーん。待機クラスがDB時間を大量に使ってしまってるってことはわかるんだけどねー。