SEEDS Creator's Blog

読者です 読者をやめる 読者になる 読者になる

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に感謝します。ありがとう!