- 2014/9/29 月曜日 18:53:44
- ISUCON
毎年でているISUCONに今年も山形組として参加してきました。
今年もオンライン予選があり、9/27の一日目に参加し結果は暫定で7位でAMI審査に問題がなければほぼ予選通過はすると思われます。
で、今年は何をやったか、というとあいも変わらず去年と同じことをしておりました。去年と同じ方式でかくと
やったこと
静的ファイルはnginx serve
アプリ全書き換え
1fileなPSGI
データはすべてオンメモリ
永続化はテキストファイルへ追記
nginx embedded perl + Plack::Handler::Nginx ←NEW!
最終形の構成をgithubにおいときました。
やれなかったこと
無し
最終提出スコア
–workload 8で
62145
コンテスト中の流れ
事前にHDD8G メモリ15Gのm3.xlargeインスタンスだとわかっていたので、それがボトルネックの解消につながるかは別として、インメモリDBアプリにすることは可能だとわかっていました。
で、蓋をあけてみたらいままでで最も簡単な内容のアプリだったため、いつもの通り全書き換えしつつのインメモリDBアプリをFeersumで動かす方針に決定。
もう一人のメンバーにクエリ書き換え等の王道チューニングを進めてもらいつつ、14:10ごろに書き換えとバグとりが完了。workloadの調整などをおこない、14:20ごろにworkload:5 58000ぐらいのスコアで提出。この時点では2位。nginxによるキャッシュをいれて、14:28ごろ、workload:6 60806で提出。1位。
この時のチャットログ
9/27 14:28 workload:6 tag:benchmarker type:score success:281500 fail:0 score:60806 で提出完了 9/27 14:28 もうほぼ限界だとおもう ...中略... 9/27 14:31 もう10チーム以上6万台の誤差勝負とかにならない限りは大丈夫だとおもう
というわけでしばらくのんびりしていたら、いつのまにか7万点台のスコアを叩き出すチームが現れ…。
16:13 うおおおおおおおおおおおおおお 16:13 7万ごえきた 16:13 YABAI! 16:18 まじか… 16:21 nginx embededやるか…
と、この時点では、nginx->feersumというリバースプロキシ構成だったので、nginx embeded perlで完全に1プロセスにしてしまうことに。
で、nginxのビルドやPlack::Handler::Nginx自体への修正なども行い、新たなバグとも戦いつつ
17:47 tag:benchmarker type:score success:287690 fail:0 score:62145
で、フィニッシュとなりました。もっとスコアが上がって7万点台に届くとおもっていたので、トップの人はどうやってるのか謎すぎる状態での終了でした。
結果も更に順位が落ちて7位となっていました。
感想
で、workload解法があったということだったのですが、まあこういうことも含め競技だとは思っていますので結果には納得していますし、その後の運営の対応も素晴らしいものでよかったと思っています。
出題内容は、過去のパターンと比較しても優しすぎて、参加人数が増えている今となっては上位スコアが団子状態になってしまってるんじゃないかなぁと。いろいろな制約の上での出題だと思いますので、難しいところではあるとは思いますが。
本戦はもちろんそういったことにはならないと思っていますので、(出場できるであれば)準備を万全にして臨みたいと思っています。
なにはともあれ、出題されたクックパッドの皆様、主催・共催のLINE、DATAHOTEL、Amazonの皆様、ありがとうございました。
本戦の出場が正式に決定しましたら、その際はまたどうぞよろしくお願いいたします。
- 新しい: #isucon 4 本選10位で惨敗でした
- 古い: #isucon 負けてきました
コメント:0
トラックバック:0
- この記事のトラックバック URL
- https://blog.everqueue.com/chiba/2014/09/29/652/trackback/
- トラックバックの送信元リスト
- #isucon 4 予選参加してきました - へぼい日記 より