3.1.3 ディスクの監視例
ディスクのパフォーマンスを監視する方法について説明します。
- 〈この項の構成〉
(1) 概要
ディスクを監視すれば,ディスク資源の不足などを検出したり,ディスクによるボトルネックを把握したりできます。また,継続的にディスクを監視すれば,ディスク容量の使用量の増加傾向を把握し,システム構成決定や拡張するなどのタイミングを把握できます。
ディスクはプログラムやプログラムが参照するデータなどを保存しています。このため,ディスク容量が不足してくると,データが消失するなどの問題が発生するだけでなく,システムの応答速度が低下します。
プログラムからディスクのデータを入出力する場合,実行中に休止(応答を待っている)状態になることがあります。これは,ディスクがボトルネックになり始めていることを示します。
ディスクのボトルネックが原因で,プロセスの応答速度の低下などさまざまな性能劣化を引き起こす場合があります。そのため,ディスクに関連する性能劣化が発生していないことを確認するのは重要な作業です。
ディスクのI/O回数を監視する場合,次の点に注意してください。
PFM - Agent for Platformで取得しているのはOSがディスクデバイスから取得したI/Oの情報です。実際のディスクに対するI/Oに対する情報ではありません。アプリケーションからディスクへのI/O処理概念図を次に示します。
ディスクのI/O負荷に関する監視項目としては,Avg Service TimeフィールドとBusy %フィールドがあります。
Avg Service Timeフィールドは,1回のI/Oに掛かった平均時間を示します。非常に大きなサイズのI/Oが発生した場合やI/Oが遅くなっている場合に,この値は大きくなります。
Busy %フィールドは,収集間隔中にディスクデバイスが稼働していた時間の割合を示します。I/Oが集中している場合に,この値は大きくなります。
このように,Avg Service TimeフィールドおよびBusy %フィールドはディスクデバイスの負荷に関連する情報です。そのため,監視の要件に合わせてフィールドを選択するようにしてください。
Avg Service TimeフィールドとBusy %フィールドの関連を次の図に示します。
監視テンプレートでは,Disk Service TimeアラームやDisk Busy %アラームを提供しています。さらに情報を参照するには,次の表を参考にしてください。
使用レコード |
使用フィールド |
値の見方(例) |
---|---|---|
PI_DEVD |
Avg Service Time |
I/Oの平均動作時間。非常に大きなサイズのI/Oが発生しているおそれがある。 |
Avg Wait Time |
I/Oの平均待ち時間。非常に大きなサイズのI/Oが発生しているおそれがある。 |
|
Busy % |
ディスクのビジー率。I/Oが特定のディスクに集中しているおそれがある。 |
|
I/O Mbytes |
I/Oの合計転送サイズ。非常に大きなサイズのI/Oが発生しているおそれがある。 |
|
Total I/O Ops |
I/Oが発生した回数。I/Oが特定のディスクに集中しているおそれがある。 |
|
Queue Length |
キューの長さ。継続してしきい値以上の場合,デバイスの混雑を示している。 |
|
PD_FSL |
Mbytes Free |
ファイルシステムの未使用領域。未使用領域が少ない場合,ディスク容量が不足している。 |
Mbytes Free % |
||
PD_FSR |
Mbytes Free |
|
Mbytes Free % |
(a) ディスクの空き容量を監視したい
ディスクの空き容量は,監視テンプレートで提供しているFile System Free(L)アラームまたはFile System Free(R)アラームを使用することで,監視できます。
論理ディスクの空き領域をアラームで監視するとディスクの容量不足を効果的に監視できます。
論理ディスクの空き領域(PD_FSLまたはPD_FSRレコードMbytes FreeまたはMbytes Free %フィールド)がしきい値以下になった場合,不要ファイルの削除やディスク増設など,対策の目安となります。
詳細については,「3.2.3(1) 監視テンプレート」を参照してください。
(b) ディスクのI/O遅延を監視したい
ディスクのI/O遅延は,監視テンプレートで提供しているI/O Wait Timeアラームを使用することで,監視できます。
ディスクのI/O遅延(PIレコードWait %フィールド)は,データベースの更新など過度にI/Oを発生させているプロセスが存在していないかなど,対策の目安となります。
詳細については,「3.2.3(1) 監視テンプレート」を参照してください。
(c) ディスクのI/Oを監視したい
ディスクのI/Oは,監視テンプレートで提供しているDisk Service Timeアラームを使用することで,監視できます。
ディスクのI/O(PI_DEVDレコードAvg Service Timeフィールド)は,非常に大きなサイズのI/Oを発生させているプロセスが存在していないかなど,対策の目安となります。
詳細については,「3.2.3(1) 監視テンプレート」を参照してください。
(d) ディスクのビジー率を監視したい
ディスクのビジー率は,監視テンプレートで提供しているDisk Busy %アラームを使用することで,監視できます。
ディスクのビジー率は,過度なページング(プロセスによるページの読み取り,または書き込み)が発生していないかをアラームで監視できます。
ディスクのビジー率(PI_DEVDレコードBusy %フィールド)が,継続的にしきい値以上の場合,ディスク要求を発生させているプロセスを調べ,プロセスの分散処理をするなど,対策の目安となります。
ディスクのI/O遅延,ディスクのI/O,およびディスクの混雑とあわせて監視すると効果的です。
詳細については,「3.2.3(1) 監視テンプレート」を参照してください。
(e) ディスクの混雑を監視したい
ディスクの混雑は,監視テンプレートで提供しているDisk Queueアラームを使用することで,監視できます。
ディスクの混雑は,過度なI/O要求が発生していないかをアラームで監視できます。
ディスクの混雑(PI_DEVDレコードQueue Lengthフィールド)が,継続的にしきい値以上の場合,ディスク要求を発生させているプロセスを調べ,プロセスの分散処理をするなど,対策の目安となります。
ディスクのI/O遅延,ディスクのI/O,ディスクのビジー率とあわせて監視すると効果的です。
詳細については,「3.2.3(1) 監視テンプレート」を参照してください。