ISUCONに初参加してみて
雑じゃないやつはブログに書いた
練習時に大事だと思ったこと
なるべくアプリケーションとベンチマーカーはマシンを分ける
感覚を掴むまでは一台構成でやるのが一番分かりやすいが、どうしてもスコアが向上しにくい
最低でもアプリケーションとベンチマーカー1台ずつあると良さそう
スコアの向上が練習の主目的でないとしても、点数が上がる体験はモチベ的に必要だと思う
自分の行ったアプローチがそのレギュレーション的に(ベンチマーカー的に)効果のあるものだったのかが分かりにくい
よく使うコマンドや操作は文書にまとめてチームで共有する
systemctlとかjournalctlとか
自分では当たり前に使っているものでも他のメンバーは知らなかったり、逆に自分の知らないことを共有してもらえて助かることもある
意外とN+1をJOINなどで排除するのは作業時間的に割に合わない
ループ内の処理をRedisなどで高速化したり、スキーマにインデックスを追加するなど、構造的にはN+1を残したままでも良かったりする
当日の反省
役割が結局定まっていなかった
全員がインフラもアプリも特別どちらかに詳しいというわけではなかったので、役割がふわふわしたまま挑んでしまった
詰まっている人と手の空いている人でペアプロしたりと柔軟に出来て良いときもあった
役割を決めるのはもちろん、行動指針も文書化する必要があると感じた
手の空いてしまう時間が少しあった
練習の時から感じていたが、性格上受け身に行動してしまい手が空く時間が少しあった
さらなる練習と、上の役割の明確化で多少は改善するかもしれない
結局練習してないことは出来ないと感じた
キャッシュ戦略とか、後から感想の書き込みを読んでなるほどと思ったことも多かったが多分出来ない
逆に言えば練習していたことは出来た
ISUCON9で複数台構成の練習が出来たのは本当に良かった
分からなかったこと
マニュアルを最後まで全員でしっかり読む必要はなかった?かもしれない
基本的なところは全員で読んで良かったが、一部すぐに気にする必要がなさそうなところはゆっくり読んでいていいのかと焦りが若干あった
今回は読んだところが活かせなかった印象だが、今後さらに点数を向上させるには必要なことかもしれない
じっくり読む係を一人決めてもいいかもしれない