midnight in a perfect world

webエンジニアのメモ

「達人が教えるwebパフォーマンスチューニング」を読む。

想定通り、めちゃくちゃ勉強になった。実際の過去のISUCONで使われた課題を元に、どのようにパフォーマンスチューニングすれば良いかを解説するもの。きちんとパフォーマンスを計測し、ボトルネックを見極め、コードを読み、修正してまた計測するという当たり前の内容を、達人たちの視点でどのように進めていくかを学べる超良書。

構成がruby+nginx+MySQL+ubuntuみたいな実務にかなり近い環境なので個人的にすごく学びしろが多かった。実際にAWS上にAMIを指定して推奨環境を構築し、githubからクローンして動かしながら読み進めていったので結構時間がかかった。結構上級者向けなので、あまりにも簡単と思われるコマンドや設定変更は省略されてたりするので都度ネットで検索しながら読了した。MySQLにインデックスをつけるくらいは経験あったが、pt-query-digestを使った本格的なスロークエリの分析やalpを使ったログ解析など未経験のことも多くこれから学んでいきたい世界が見えてきた感もあった。

ベンチマーカーを使うのも初めてで、付録にベンチマーカーの実装の仕方の紹介もあるのだが、適切な計測をしつつ、参加者のレギュレーション違反を監視し、適切なエラーを返す、みたいなことを実現していてレベルが違いすぎて慄いた。実際に過去問を何回か解いてみるだけでも相当力つきそうだし、定期的にやってみようかと思う。