Reading/HyMySQL?
Benchmark strategies
- アプリのコードが suck だったら MySQL の部分チューニングしても対して聞かない
- キャッシュの振る舞いが(結果として)見える
Benchmarking Tactics
- ベンチマークに関するよくある間違い
Designing and Planning a Benchmark
- ログを取るときの注意点として,以下の2つはわけるべき.
- Web サーバのログ
- 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 できるように作っておくといい