詳解 システムパフォーマンスを読む⑯
↓前回分
今回はP.49あたりから
ワークロードの特性の把握
システムに対する入力に注目することで、負荷に起因する問題のクラスを明らかにするメソドロジ
誰が? プロセスID/ユーザID/IPアドレス
なぜ? コードパス/スタックトレース他
特徴は? IOPS/スループット/読みor書きなど
傾向は? 時系列、毎日のパターンなど
ドリルダウン分析
広い視野で問題検証をスタートさせ、判明したことをもとに範囲を狭め、関係なさそうなところを絞り、関係ありそうなところをさらに深堀りする。
3つのステージ
モニタリング:統計情報を記録し、問題が出た可能性があればアラートを出す
特定:アラートから、ボトルネックの原因を探り、調査対象を絞り込む
分析:特定領域をさらに解析し、根本原因を明らかにして問題を定量化する
なぜなぜ分析
分析フェーズで、問題に対して5回なぜを繰り返すことで、根本原因を探る補助メソドロジ
レイテンシ分析
オペレーション完了までの経過時間を解析し、細かいコンポーネントに分解する
一番レイテンシの高いコンポーネントをさらに分解して、根本原因を特定、定量化する
例)MySQLのレイテンシ分析に用いる問い
・クエリのレイテンシに問題があるか
→ある
・クエリ時間は主にCPU上で使われているか、そうでないか
→CPU外
・CPU時間外で使われた時間は何を待っていたか
→ファイルシステムI/O
・上記の時間はディスクI/Oによるものか、それ以外か
→ディスクI/O
・ディスクI/Oで時間がかかっているのはランダムシークのためか、
あるいはデータ転送時間が遅いのか
→データ転送時間が遅い
メソッドR
ビジネスのために最大限の経済的価値を生み出す応答時間ベースのパフォーマンス向上メソッド
Oracleデータベースのために開発されたパフォーマンス分析メソドロジ
以上。