#isucon 負けました
isucon に Third Party Cookies として id:onishi さん、 id:motemen さんと参加してきました*1。よく言えば7位、完走した中では最下位、惨敗でした。変更はけっこうrevertしてしまったので初期スコアとあまり変わりません。。
ISUCON公式Blog
やったのはこんなかんじでした。他の2人がアプリ中心なので自分はインフラ側の視点から、という立場でした(今思うと区切ってしまったのがよくなかった)
- アカウント・互いのログイン・hosts そういうの整える
- nginx に入れ替えて ltsv ログ、mysql の slow.log、logrotate まわり整える
- ログと時間の割合の分析を見てアーキテクチャの目標をなんとなく思い浮かべる。とりあえず1台で帯域飽和するかどうかまで見てみる
- mysql 自体はチューニング要らないのでスキーマだけちょろっと触って終わる
- タイムライン高速化まわりで memcached, redis あたりほしいと言われたので適当な設定で
- 複数台のときの同期の仕組みを考える。lsyncd/rsyncd でさらっと(入れると失敗しそう)
- 画像を事前に変換しといて nginx で rewrite して対応する。ここでけっこうハマってしまった
- 最後の仕上げで落ちないように
優勝したLINE選抜の話を聞くと、最初の方に全体アーキテクチャを考えてそこに向かう、というやり方をとっていてなるほどと思いました。スタート地点の意識の違いと、それを可能にするだけの裏付けがあるな(使う道具の選定と導入、そしてとくにそういう風に見積もれたのがのがすごい)と思いました。負けないように精進したいです。
今回は運営・問題とも素晴らしかったです。実際の運用・サービスにつながる感じの問題、事前・当日の運営の仕切りと、そういう背景があった上での素晴らしいISUCONだったと思います。弁当、ビールもおいしかった。おつかれさまでした && ありがとうございました。
悔しかったので、次に開催されるとき(来年?)までに実力を高めておこうと思います。*2