ISUCON3 の予選AMIが公開されてから、ごにょごにょとHackした結果、スコアで65000まで出す事ができました。(一回だけ66000でけどたぶんインスタンスガチャ)
「ISUCON 本戦出場者決定のお知らせ」をみると予選の時のトップのスコアが3.3万(自分たちは1.5万ぐらい)、その後の解説記事「ざっくりと #isucon 2013年予選問題の解き方教えます」だと、5.6万という話でしたので、その数字よりも良いスコアを出すことができました。
んで、本選終わったのでそのソースコード公開しました。
https://github.com/kazeburo/isucon3qualifier-myhack
構成はnginx + perlです。主なポイントは
- セッションに直接ユーザIDを埋める
- / と /recent は静的にHTMLを書き出して、nginxのssiを使ってセッション情報を埋める。
- 初期化時とmemoのPOST時に、memcachedにJSONでキャッシュする
- /memo はluaでmemcachedにアクセスして組み立てる
- 改造Starlet使って、nginxからunix domain socketでproxy
といったあたり。ベンチマークはworkload 2よりも大きくすると遅くなります
$ sudo isucon3 benchmark --init /home/isucon/webapp/perl/conf/init.sh --workload 2 2013/11/11 14:49:42 <<<DEBUG build>>> 2013/11/11 14:49:42 benchmark mode 2013/11/11 14:49:42 initialize data... 2013/11/11 14:49:57 run /home/isucon/webapp/perl/conf/init.sh timeout 60 sec... 2013/11/11 14:50:32 done 2013/11/11 14:50:32 sleeping 5 sec... 2013/11/11 14:50:37 run benchmark workload: 2 2013/11/11 14:51:38 done benchmark Result: SUCCESS RawScore: 65508.9 Fails: 0 Score: 65508.9
最後まで @methane さんの70kには届かなかったのが残念