ISUCON6敗退から一週間たってからの振り返り
早いもので、ISUCON6(土曜参戦)から早くも一週間過ぎた。 結果は敗退で、流れは @Leko がまとめてくれているので、基本はそちらをどうぞ。
まぁ今年も悔しい結果に終わったので、その悔しい気持ちのまま書いてもよかったのだけど、少しおついてから来年(?)に向けて振り返りをしてみることにする。
自分の役割は、インフラメインで、あとは全体方針を Leko と考えつつ、ボトルネックがどう変わっていくのか見ていく的な感じでした。
Keep
- 使われるインフラの事前勉強
- なんらかのISUCON問題をメンバーと一緒にする。
- 今回は Pixiv さんの問題 をやった。これと去年の反省を含めて、局所最適化ではなく、大きく変更するための思考回路が多少は身についたと思う。
- 最低限のタレの準備
- 必要なツール類(Kataribe とか pt-query-digest とか)やアカウント作成を Ansible ですぐ入れるようにしていた。
- また、M/W 類は状況に応じてという気がしていたので、基本のインストールスクリプトだけ用意。
- M/W、OS関連のチューニングはすぐに着手せず、まずは準備が出来次第、自分もコードを読んで作戦面を考える。
Problem
- Redisをわかってなかった
- Redis は入れたものの、デフォのまま放置してしまい、アプリ側の挙動を変な状態にしてしまった。これがなければ早いうちに3、4万点台に乗せれていたのでとても悔やまれる。
- 普段使っていないものは、その場しのぎではダメっていう良い(?)見本です!(申し訳ない)
- アプリ実装に肩入れしすぎた
- 今回はベンチがひたすら 0 点が続いて気持ち的な余裕がなくなって、上記 Redis の問題時に自分の本業側の方をきちんと見ずにアプリ実装側を見過ぎていた。
- 作戦・実装方針以外はまかせて、自分の見るべきところを見るべきであった。
Try
- ISUCONで使いそうなM/Wは使い込む
- 普段から使えれば良いが、ISUCONで使いそうなM/Wについては使い込んで、どういう問題が発生するのか特徴を理解しておく。
- 社内ISUCONの実施
- いろんな意味で、社内ISUCONをすることでそもそもエンジニアとしての地力をつけたい。
- 問題の意味することろから攻める
- 単に重いところをどう軽くするかの方針だけでなく、問題の本質から全体最適化を考えられるようにしたい。
まとめ
今年もよい刺激となり、実力のなさを痛感しました。それでも昨年よりは、点数的にはよくなったと思うので、逆に悔しい気持ちは大きいです。これをバネに日々精進したいです。
ISUCON6の運営のみなさま、今年も楽しい場を設けていただきありがとうございます!
一方で、ISUCON6自体はまだ本線が控えているので、ぜひ諸々頑張ってください!特になにかできるわけではありませんが、応援しています!