ISUCON公式Blog

ISUCONとはさくらインターネット株式会社が運営窓口となって開催している、お題となるWebサービスを決められたレギュレーションの中で限界まで高速化を図るチューニングバトルです

ISUCONの過去問に
チャレンジするための
シンプルな環境構築
商標「ISUCON」利用の
ガイドラインはこちら

優勝賞金100万円!にプラスして副賞をご用意しました

櫛井です。いよいよ今週の土曜に本選が開催となる ISUCON ですが、予選を勝ち抜いた皆さんは心と体の準備をされているかと思います。

さて、何度かお知らせしておりますが今回の ISUCON は優勝賞金ドドンと100万円!となっているのですが、共催をしていただいている株式会社データホテル様より副賞をご用意いただきましたので紹介したいと思います。

はい、こちらっ!
ダンボー

副賞:ロボダンボー+DATAHOTELロゴ入り外装スペア
ロボダンボーは、全身に11個のサーボモータを搭載し「歩く」「踊る」「首をかしげる」など様々な表現が可能です。また、動きに合わせて音声を鳴らしたり、両目のLEDを光らせるなど、豊かな表現ができる機能を搭載しています。(製品サイトより)

※優勝チームの人数分を進呈します


どうですか…。これ結構なお値段するんですよ。。「副賞としてロボダンボーをご用意しました」と連絡をもらった時は「えっ?」と二回くらい聞き返したレベルでした。いや、これは普通に欲しい。1つ余ったら欲しい。

というわけで本選出場の皆さん、当日は万全の体調でお越しください。渋谷ヒカリエ会場にてお待ちしております。(当日の流れ等はチームの代表者の方へ連絡していますので聞いていないという方は代表の方へ問い合わせてみてください)

ざっくりと #isucon 2013年予選問題の解き方教えます

こんにちは、@acidlemon です。

ざっくりと書いたつもりなのに長編です。

本エントリでは、スコアがなかなか伸びなかった方々を主な対象として、実際に先週末実施した予選問題を解いていく方法を解説します。高スコアをたたき出した方々は参考までに「こんなやりかたでもここまでスコア伸びるんだなー」という感じで読んでください。

最初の方針は「派手なことをしない」「コンサバにやる」です。「とりあえず」という気持ちでmemcachedやRedis、もしくはvarnishやnginxでキャッシュし始めるとキャッシュの寿命のことを考え始めなければならず、疑心暗鬼になったりして難易度が上がります。まぁその辺は最終的には男気によって解決するものなのですが、その要素を排除したままできるだけスコアを上げてみましょう。

日曜夜よりアップされたみなさんの感想エントリなども拝見しており、やっぱオンメモリに置くのは速いよなぁなどいろいろな感想をもちました。しかし、もともとリアルISUCONをたくさん経験されている方の中には「それたしかにすごいけど実運用のサービスではちょっとできないよね…」といった感想をお持ちの方もいるかと思います。とりあえずRedisに全部データおいてみるとか、アプリのオンメモリにデータをため込むといったことをせず、堅実にスコアを上げていく方法を以下で解説していきます。

ミドルウェアやアプリのムダ処理排除

openrestyかnginxのインストール

今回はとくにnginxに関する罠がなかったので最初から入れ替えて問題を感じた方はいなかったのではないでしょうか。予選用AMIに最初から入ってるnginxは普通のnginxなのでLuaは使えません。もしLuaが使いたいならopenrestyをダウンロードしてきて自分でインストールするのが楽です。その場合でも設定ファイルはそのまま使えますので、最初は標準のnginxでスコア上げを行い、どうしてもダメならopenrestyに入れ替えてsupervisordに以下のような感じの設定を書き加えればよいですね。

[program:nginx]
directory=/usr/local/openresty/nginx
command=/usr/local/openresty/nginx/sbin/nginx -g "daemon off;" -c /etc/nginx/nginx.conf
user=root
redirect_stderr=true
stdout_logfile=/tmp/nginx.log
autostart=true
Read more...

オンライン予選で使用した問題が手元で再現できるAMIを公開しました

オンライン予選時、Amazon Web Service (以下AWS) アカウントを利用し主催者が指定した Amazon Machine Image (以下AMI) 起動したインスタンスを1台利用していただきました。オンライン予選時はm3.xlarge (EBS最適化なし) としました。

AMI-id は ami-b34ad3b2 です。

オンライン予選時からの変更点


予選2日目に使用した AMI を元に、以下の変更を加えたものを公開しました。

ベンチマークツールを差し替え
testモードで --workload が指定できるようになっています
benchmarkモードでAPIサーバと通信しないのでいつでも実行可能です。--init を指定する場合はtestモードではなくbenchmarkモードで実行してください
予選時には m3.xlarge インスタンス以外で実行できない制限がありましたが、解除してあります
ベンチマークツールのソースコード追加
/home/isucon/qualifier_bench にあります
ライセンスファイル追加
MITライセンスですが、サブディレクトリ内にライセンス表記がある場合はそちらが優先です


利用方法

インスタンスを起動後、ec2-user でSSHログインし、isuconユーザにsuしてください。 /home/isucon/README.md にベンチマークツールの起動方法などが書かれていますので参照してください。

注意事項

インスタンスの実行に掛かる費用は、インスタンスを起動したアカウントに請求されます。運営では一切関知しませんのでご注意ください。


↑このページのトップヘ