今年も、ISUCONに挑戦した。チームは、社内のバックエンドチームの新卒2年目の二人とチームを組んで、予選に挑んだ。チーム名はファッションモンスター。
ざっくり、やることの分担としては、自分がしたまわりをやって、二人がアプリを改善していくということで進めていった。
予選の内容としては、マイクロサービス化されたwikiシステムで、はてなスター的なスター機能をもつものと、投稿のSPAM判定を行うブラックボックスなものの3つを上手く最適化させる必要があるものだった。
rubyの初期スコアが0点で、本当にゼロからのスタートで進めた。
方針としては、キャッシュできるところをキャッシュしまくっていこうということで、もろもろredisに乗せていったが、
結果的には、BESTでも6200点ぐらいしかでず、惨敗だった。
途中、gitがconflictしてしまって、雑にディレクトリごと切り替えてしまったせいで、サーバでgit pullしてるのに、意図しないエラーがでてるという状況に陥ってしまった*1
それを、切り戻すなどして時間をくってしまったり、unicornのログを最初出していないせいで、バグ取りが全くはかどらなかったりと、落ち着けばなんでもないことが、時間に焦ってしまってうまくできないなどあった。
敗因としては、本当の意味でのボトルネックを見つけきることができず、手持ちでやれることをミクロでやってしまったのが敗因だった。
手持ちの武器がcacheすればいいんでしょという感じで進めてしまったのも良くなかった。
twitterでの感想をよんでるかぎり、教養が足りず、そもそも戦えてなかったという感じだった..
あと、10時になって、さあスタートというタイミングで、業務のバッチがエラーはいたalertが飛んで、一瞬あせったということもあったりした。
ともあれ、今年も参加できて悔しい思いができたので、参加して良かったです。
出題、運営の皆様ありがとうございました!
また来年挑戦したいです。