#isucon に参加してきました
なんでもありのWebアプリケーション高速化バトル、#isucon 開催のお知らせ
参加経緯 後、@hansode さんを含め、@kyanny さんと俺の3人、”チーム情熱会” で参加してきました。
結果は審査用の3分間ベンチマークがこけたので、参考数値の100,604/minが最終でした。
チームでやれたこと
- mysqlのパラメータ調整(innodb周りとか)
- mysql問い合わせ結果をmemcachedでキャッシュ
- リバースプロキシをapacheからnginxに変更
刺身さんがアプリで入れてくれたクエリキャッシュが一番効果あったと思います。
俺はリバースプロキシの変更をやったくらいで、nginxにしてパフォーマンス下がったときはちょっと涙目だったけどベンチツールのhttpのkeep-alive罠を回避出来たのは良かったかな。
DBがボトルネックになってて原因になるクエリがあったのは早い段階で気づいていたけど、俺のSQLレベルが低すぎて全然役に立ててなかった。。
終わった後の優勝チーム"fujiwara組"の @fujiwara さんと、最終的に3位になるかもしれない? 準優勝チーム"いんふらえんじにあー"の @netmarkjp さんからのつぶやき引用。
重くないところをいじってもスコアなんて誤差しか変わらないから、真摯に一番負荷の掛かってるところを見極めるべし、ですよ
— fujiwara (@fujiwara) August 27, 2011
今日の #isucon も先日の #tuningathon もだけど、チューニングのときにhotspotじゃないところをいじるの好きな人が多い。初見でトップダウンアプローチで安定して確実に短時間に成果出すのはキツい。着実にボトムアップアプローチできるようになれば安定して2位とれる
— ばば としあき (@netmarkjp) August 27, 2011
ばばさんのはギクッというか、ああ俺だわっていう感じが。自分が分かることしか出来ないのは勿論あるんだけど。実力を知るいい機会になりました。
今回のチューニングのポイント・やり方は自分のお作法にもフィードバックして、あとほぼ今回初めて触ったけどnginx周りについては色々勉強になったので実業務にも活かせればと思います。
主催のlivedoorの皆様、参加者の皆様お疲れ様でした。素敵・素晴らしいイベントだったと思います。
チーム情熱会のお二人も一緒に出させてもらって楽しかったです、ありがとうございました。
あー、復習でひとりisuconやろう。そのあとチームでisucon振り返りもいいなー。