パフォーマンス分析の手法

詳解システム・パフォーマンス5.2項はパフォーマンス分析とチューニングのためのメソッド・アンチメソッドです。

メソッド・アンチメソッド

  • 街灯のアンチメソッド
  • ランダム変更アンチメソッド
  • 誰かほかの人を避難するアンチメソッド
  • アドホックチェククリスト
  • 問題の記述
  • 診断サイクル
  • ツールメソッド
  • USEメソッド
  • ワークロード特性の把握
  • ドリルダウン分析
  • レイテンシ分析
  • メソッドR
  • イベントトレーシング
  • ベースライン統計
  • パフォーマンスモニタリング
  • 待ち行列理論
  • 静的パフォーマンスチューニング
  • キャッシュチューニング
  • マイクロベンチマーキング
  • キャパシティプランニング

重要そうなものを詳しく見ていきます。

街灯のアンチメソッド

「たまたま知っている観察ツールをとりあえず使ってみる」というメンタリティ。問題が見つかったとして、それが今直面している問題の解決になるとは限らない。

ランダム変更アンチメソッド

ここがおかしそうだなというところにとりあえず変更を加えてみて、直ったらラッキーという手法。当然運に頼ることになり、結果として遠回りになる。

アドホックチェックリスト

あらかじめ検査すべき項目をリストアップしておく手法。頻繁なメンテナンスが必要。

問題の記述

問題に対処するときのルーチンであり、問題を受け取った時に聞いておくべき項目。

  1. 問題の内容
  2. 既存の問題か新規の問題か
  3. 最近変更はあったか
  4. その問題はレイテンシあるいは実行時間で表現できるか
  5. 問題の影響範囲
  6. 環境・バージョン・構成

USEメソッド

すべてのリソースについて、使用率・飽和・エラーをチェックする。はじめにリソースのリストを作成し、その後先の3つの指標とリソースの組み合わせを検討し、重要な組み合わせに目星をつけて優先的に調べる。

ワークロード特性の把握

システムがどういう入力を受けているのかを分析する。

  • 負荷をかけているのは誰か(プロセスID)
  • なぜ負荷がかかっているのか
  • 負荷の特徴:IOPS、スループット、Read or Write、...
  • 時系列的な変化