hero_picture

isucon3 本戦に参加してきました

isucon3の本戦に「進撃の超大型パティスリー兄弟」として@memememomoと2人で参加してきました。

先ほど無事に京都に帰ってきたので、忘れない内にブログを書いておきます。

それにしても、isuconが終わるとこの季節は妙に寂しさを感じます。

結果から書くと、17:00頃までは1位になったり2位になったりという状況でしたが、

その後は進撃できず、18時のコンテスト終了時点では6位でした。

また、本番計測ではFAILでスコアなしです(おそらく、timelineチェックに引っ掛かったと思います)。

あの短時間(本戦の作業時間は7時間)で、fail回避の調整と、最適な複数台サーバの構築を行ったチームはほんとうにすごいです。

ざっくりとした作業手順は以下のような感じです。

まず、ミドルウェア設定/アプリ仕様などを確認。

次にベンチを走らせ、各種ログ/サーバ状況を確認。

それら結果から、対策方針を相談/決定し、あとはひたすら計測/実装を行いました。

この辺りの作業の流れは予選時より改善していて、意思決定を素早く行うことができました。

アプリ側での対応としては以下のようなもので、トップチームとだいたい同じ方針だったようです。

・画像がPOSTされたときに、各種画像を変換する

・既存画像を予め変換しておく

サーバ構成は、プロキシサーバ4台 + アプリサーバ1台 です。

オープニングムービーを見たときから、この構成が良さそうだと考えていました。

しかしながら、想定以上にチェッカーのfail判定が厳しく、サーバ構成の利点を最大限活かす実装は難しい状況でした。

16:30以降は、その辺りの調整に時間を費やしており、

ブレークスルーを起こすための最後の調整が上手くいかず進撃失敗。

また、DB周りはほとんど手を加えていません。一番のボトルネックではなかったので。

ただ、timeline対策にはもっと時間を割くべきでした。

今回のお題は未設定のサーバが提供されたりと、まさに「なんでもあり」。

普段の業務では、サーバからアプリまで全てに関わることができているので、

その辺りの経験を活かせたと思います。

ぜんぜん話関係ないですけど、カフェエリアのBGMにsuedeoasisとかの曲が流れたりしてて良い感じでした。

最後になりましたが、LINE/面白法人カヤック/DATAHOTELの皆様、

今年もステキなイベントをありがとうございました。

そして、@memememomoに感謝します。ありがとう!