wtatsuruの技術方面のブログ

はてなスタッフ id:wtatsuru です。日常ブログはこちら https://tatsuru.hatenablog.com/

#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

*1:はてなブログは Third Party Cookie の受け入れを推奨しています

*2:やっと落ち着いてきたので酒を飲んだ勢いで書きました。

はてなで一緒に働きませんか?