Chapter2

Last-modified: 2010-10-13 (水) 22:47:06

Reading/HyMySQL?

Benchmark strategies

  • アプリのコードが suck だったら MySQL の部分チューニングしても対して聞かない
  • キャッシュの振る舞いが(結果として)見える

Benchmarking Tactics

  • ベンチマークに関するよくある間違い

Designing and Planning a Benchmark

  • ログを取るときの注意点として,以下の2つはわけるべき.
    1. Web サーバのログ
    2. MySQL のログ
  • 一緒くたにすると、わけが分からなくなる
  • ちゃんとドキュメントをかきましょう.
  • サーバの warm-up plan はしっかりたてておきましょう.
  • 自動化できるところは自動化しましょう.
  • 必要£ておきましょう.
  • . Try to record as much additional information as you can during the benchmarks, such as CPU usage, disk I/O, and network traffic statistics; counters from SHOW GLOBAL STATUS; and so on.

Getting Accurate Results

  • 正しい結果を得るには、"解決したい問題の答え"に答えているかを考えるのが良い.
  • 動作させる度に"同じ状態"になっていることを保証すること.repeatable な環境にしておく必要.
  • サーバのwarm-upは大事.でもランダムな query を投げるのが warmup か => No. it's non repeatable.
  • スキーマを変更するようなベンチマークの場合、snapshot をとっておいてリセットしましょう!
  • 外部ジョブに気をつけよう!
  • Oracle to MySQL みたいな migration をする場合は、ベンチマーク結果を見てスキーマ定義の方法を変えたりする必要があるよ
  • デフォルトでのベンチマークは意味ないからやめましょう.メモリちょっとしか使わないようになってるらしい
  • Q. 待て待て.結構難しいと思うんだけど...

Running the Benchmark and Analyzing Results

  • ここまでくれば、もう動かすだけ.
  • ベンチマークをとりましょう!自動化しとくといいかお
  • ワンステップでベンチマークとれるうようにすべき.
  • ON - OFF できるように作っておくといい