詳解 システムパフォーマンスを読む③
前回の続き
1章続きから。
パフォーマンスエンジニアリングの難しさと面白さ
・パフォーマンス=主観的
比較的客観的な視点が多いITの中で、パフォーマンスとは主観が入る特異なもの
本の中ではこの主観性に対処するための手法を学ぶ
・システムは複雑だ
基本的にシステムは複雑で、それゆえパフォーマンスの原因も多岐にわたる
複雑な中のどこに答えがあるのかを探す手法は奥が非常に深いが、その一部を伝授する
・複数のパフォーマンス問題が同時に起きることがある
成熟したDBの製品でも、未解決のパフォーマンス問題が根強く残っていたりする
複数あるパフォーマンスのうちボトルネックは何か、解決によってどの程度恩恵を受けられるのかをある程度見積れる必要がある
パフォーマンスの定量化が必要だが、指標の一つとしてレイテンシが挙げられる
レイテンシについて
あらゆる処理が完了するまでにかかった時間のことを指す
レイテンシの中身を細分化できれば、何にどれだけ時間がかかっているかがわかり、パフォーマンス改善に役立つ
ただし、値を常に得られるとは限らない、下記の動的トレーシングによって得られる場合がある
動的トレーシング
本番環境のソフトウェアのあらゆる箇所の経過時間をライブで計測できる
DTraceというツールが代表、これができる以前は静的プローブで計測をしていたが、確認できる情報に限界があった
第4章にて詳しく解説
クラウドによってスケーリングが容易になったため、キャパシティプランニングの必要性が減った
逆に、最適なパフォーマンスを出すことで利用料金を抑えた運用が可能になったため、その重要性が増した
クラウド資源は見える部分が限られているので、パフォーマンス分析を行うのが難しい場合がある
以上