詳解 システムパフォーマンスを読む⑭ メソドロジー続々
前回の続き
P.40あたりから
メソドロジ
科学的メソッド
仮説を立てて、検証する(問題→仮説→予測→検証→分析)の順に進める
例)
問題:サーバが予期せぬシャットダウンを起こすのはなぜか
仮説:メモリのリークが起こっており、一定期間を過ぎるとメモリ不足により強制開放→クラッシュによるシャットダウンとなる
予測:メモリ消費量を増やしていけば、一定のところでシャットダウンが起きるはずである
検証:わざとサーバ上でクエリを量産したところ、あるところでシャットダウンが走った
分析:パフォーマンスを見ると、リスタート前にメモリが大きく消費されていた。ログにもメモリ不足によりプロセス開放のエラーが表示されていた
検証の結果、仮説が間違っていたとしても、また新たな仮説を立てて検証することで積み上げ式に問題を特定できる。
診断サイクル
仮説→インストルメンテーション→データ→仮説のサイクルを回す
科学的メソッドと似ている、どちらも仮説をたて、それをつぶし、新たに仮説を立てることで問題の真因に近づいていく。
インストルメンテーション(データを取得できる機構)によりデータを取得し、
仮説を検証して次につなげていく
ツールメソッド
1.利用できるパフォーマンスツールをリストアップする
2.個々のツールに関して、役に立つ指標をリストアップする
3.個々の指標について、解釈のためのルールをリストアップする
効率的ではないものの、一定のボトルネックやエラーなどは解消できる可能性がある
ただし、目の前にあるものしか使わないところは、街頭のアンチメソッドの状況になりかねない危険はある
以上