isuconに参加してきました

livedoor Techブログ : Webアプリケーション高速化バトル(ISUCON)


会社の人達とチームを組んで参加してきました。
とりあえず自分がやっていたことのみを書きたいと思います。


当日、自分が担当したのはアプリの部分でした。
あらかじめ用意していた独自のジョブキューシステムを組み込んだり、
DBアクセスの部分をHandlerSocket(MySQLのプラグイン)で動くようにしたりしてました。
前日まで、この部分のベンチやらデバッグやらを一生懸命やっていたので、
どんな状況であっても本番で動くようにはしたいなと思っていました。
想定していたよりシンプルなアプリでしたので、無事に動くようにできました。
組み込んだ場所がネックになっているところではなかったため、速度にはあまり影響は出ませんでしたが。


開発は、
1台のアプリサーバにsshでつないで、
emacsをインストールして、
ソースのバックアップを取って、
Plack::Testで実行しつつデバッグして、
rsyncでもう一方のアプリサーバに送る、
という感じでやってました。
gitとかデプロイツールとか用意しようとしましたが、ソースをいじるのは自分一人だったので、こんな感じでした。


最後の最後で、ネックとなっているSQLクエリの対策にとりかかっていましたが、本格的な改善は間に合いませんでした。
テーブルの構成を変えるという発想が思い浮かばなかったのは悔しかったです。


競技が始まった直後は、プチパニックを起こしてましたが、時間が経つにつれて楽しい気分になれました。
題材になっているシステムを見ているだけでも勉強になり、感心しっぱなしでした。
最終測定結果は「Failure」で終わってしまいましたが、Bestが少しでも上がったので良かったです。


競技が終わった後も、ブログで他チームの対策が公開されていたり、ツールが公開されて再現できるようになっていたりしているので、まだまだ楽しめそうですね。


また同じような機会があったら、どんどん参加していきたいです。

最後に

isuconは本当に楽しくて素晴らしいイベントでした。開催していただいたlivedoor様どうもありがとうございました!
また、京都からisuconに参加するにあたって、会社から交通費や宿泊代などを支援して頂きました。このような支援をしてくださる会社はなかなか無いのではないでしょうか、とても感謝しております。どうもありがとうございました!