ISUCON公式Blog

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

開催日程

2024年12月8日(日) 10:00-18:00

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

追記
予選の参加登録、開始しております!
ISUCON4 オンライン予選の参加登録を開始しました : ISUCON公式Blog

--
こんにちは、櫛井です。
過去三度に渡って開催いたしました ISUCON ですが、今年も開催です!やったー!

isuconlogo_2


ISUCONとは

お題となるWebサービスを決められたレギュレーションの中で限界まで高速化を図るチューニングバトル、それがISUCONです。過去の実績も所属している会社も全く関係ない、結果が全てのガチンコバトルです。

ってやつです!
今回もLINE株式会社にてイベントの企画・運営・会場・賞金提供などを行います。本選用サーバは今年もありがとうございます、株式会社データホテルにてご提供いただきます。気になるアプリ提供(出題)は、クックパッドさんにご協力いただく事となりました。ありがとうございます!というわけで、今回は主催がLINE株式会社、協賛 株式会社データホテル、クックパッドという形で行います。

優勝賞金は今年もドドンと100万円!そしてなんとなんと準優勝も賞金30万円(予定)と超ウルトラ太っ腹コンテストとなっております!皆様、ふるってご参加ください。予選参加100組くらい行っていただけると運営的に大変色々何かとほんとにありがたいです!察して下さい!

過去の開催模様はこちらをご覧ください
第三回 #isucon 本選リアルタイムフォトレポート【更新終了】 : ISUCON公式Blog
#isucon2 リアルタイムフォトレポート 更新終了 : ISUCON公式Blog
写真と動画で振り返る #isucon オフィシャルレポート : ISUCON公式Blog

開催概要

今年も2〜3名1チームでの参加制としますが、より多くの方にISUCONへご参加いただきたいので予選を設定させていただきます。

本選への出場枠ですが、昨年より枠を増加し
・オンライン予選 TOP20チーム
・学生枠 5チーム
・運営枠 3チーム(LINE選抜チーム、データホテル選抜チーム、クックパッド選抜チーム)
の合計28チームを予定しています。

学生枠はチームメンバーが全員学生であること(休学中でもOK)を条件とさせていただきますが、オンライン予選にはご参加いただく必要がありますのでご注意ください。

本選会場はLINE株式会社ヒカリエオフィスのカフェとなります。前回同様、会議室も開放予定です。なお、本選参加は当日渋谷ヒカリエにお越しいただける方のみとします。オンラインでの参加は不可とします。

予選と本選でチームメンバーの交代は出来ません。予選を3名で参加、本選を2名で参加するといった形はOKです。


オンライン予選の概要と開催日

オンライン予選の方式は以下を予定しております
  • 予選はAmazon Web ServiceのEC2を利用
  • 出題者側で作成したお題アプリ、ベンチマークツールが乗ったマシンイメージを公開
  • 各参加チームが自分のAWSアカウントでそのマシンイメージを起動
  • 出題者側で発行したAPI key(文字列) を入力してベンチマークツールを設定
出題内容は当日発表となりますが、詳細なレギュレーションや予選の参加申し込み等については予選開催日の1ヶ月前を目処に発表予定です。

予選の開催日は
9月27日(土)、28日(日)の二日間のいずれか、それぞれ10時〜18時の時間帯固定とします。日程をずらしての参加は出来ません。参加申し込み時にどちらかを申請していただきます。
参加費は無料ですが、AWSを利用する料金は予選参加者負担となりますのでご了承ください。


本選開催日

11月8日(土) LINE株式会社 渋谷ヒカリエオフィスにて開催となります。
当日は10時から開始、懇親会も予定しておりますが詳細は追ってお知らせいたします。予定を空けておいてくださいませ。


よくありそうな質問

順次追加しますので、質問などは Twitter @941 までお願いします。DMでのやりとりがよければフォローいたしますのでMentionを飛ばしてください。

Q.予選は渋谷まで行く必要ありますか?
A.オンライン上で完結しますのでお越しいただく必要はありません

Q.1社あたり何チームまでとか制限ありますか?
A.ありません

Q.前回のチャンピオンと対決したいのですが
A.過去優勝経験者たちが全員参加OKとなっていますので対決可能です

Q.予選はどんな問題ですか?本選はどんな問題ですか?
A.予選については随時お知らせします。過去問はこちらをどうぞ。
ISUCON3 本選のソースコードとAMIを公開しました : ISUCON公式Blog
オンライン予選で使用した問題が手元で再現できるAMIを公開しました : ISUCON公式Blog
自家製 #isucon2 のつくりかた : ISUCON公式Blog
自家製 #isucon のつくりかた : ISUCON公式Blog


予選の告知は改めて行いますので、参加しようかと思っている方はチームメンバー予定の方にお声がけし準備をしておいてください!それまで過去問にチャレンジしたり、感想エントリを見て当時の対策方法を探ったり、何かしらの素振りをしておいてください!今年も宜しくお願いします。

Read more...

2015/09/30 追記

AMIの使用方法部分を一部変更しました

  • -

ISUCON3 本選で使用したアプリ、ベンチマークのソースコードと、お手軽にお試しいただけるAMI (Amazon Machine Image)が準備できましたのでお知らせです。

ソースコードはGitHub上で公開しています。 https://github.com/kayac/isucon3

AMI-id は ami-25046324 です。Tokyoリージョンで isucon3-final で検索しても見つかるかと思います。

なお、本選のお題の性質的に仮想化方式が HVM でないと初期状態での性能が出ずにベンチマークが通らないため、提供されるAMIから起動できるインスタンスタイプは m3.xlarge, m3.2xlarge などの HVM 対応タイプのみです。インスタンス費用にはご注意ください。

AMIの使用方法

AMI-id ami-25046324 からインスタンスを起動してください。起動直後の状態ではライセンスの関係上、出題に使用した画像データとデータベース内容が含まれていないため、まずそれをセットアップする必要があります。

# su - isucon
$ cd isucon3/final/bench
$ git fetch
$ git merge origin/master
$ ./prepare-images.sh
$ ./init.sh

画像データをダウンロードして出題に利用できる形態に加工するため、少々時間が掛かります。 その後、Supervisord を再起動すると Perl 実装が起動した本選開始時点の1台目のサーバの状態になります。

$ sudo service supervisord restart

インスタンスのグローバルIPアドレスに対して http://[ip-address]/ で接続すると、テスト用の HTML + JavaScript での画面が表示されるはずです。

各言語版の実行方法は、 /home/isucon/webapp/{perl,ruby,python,nodejs,php,go} の各ディレクトリ内の README.md を参照してください。

ベンチマーク実行方法

$ cd isucon3/final/bench
$ carton exec perl bench.pl -d /home/isucon/image_source http://127.0.0.1/

ベンチマークスクリプトのオプションは README.md に記載されています。最低限、アップロードに使用する画像が入ったディレクトリを指定する -d と、対象URL http://127.0.0.1/ の指定が必要です。他のホストに対してベンチマークを実行する場合は、http://127.0.0.1/ の部分を対象ホストに変更してください。

他には -w [workload] -t [seconds] も指定可能です。競技中は -t 60 (デフォルト)、最終計測では -t 180 で実行されています。

本選の初期状態ではおおよそ1800点前後のスコアでした(ベンチマークが別ホストから実行されています)。AMI を m3.xlarge で起動すると、同一ホストでベンチマークを実行して2000〜2200点程度のスコアになるようです。

CentOS-6 環境で実行する方法

AWSだけではなく、さくらのクラウドなど CentOS-6 を利用できる環境であれば、リポジトリに含まれている Chef cookbook を使用することで環境を設定することが可能です。

既存の環境で実行すると iptables, MySQL などを置き換えてしまいますのでクリーンな状態から実行するようご注意ください。

# git checkout https://github.com/kayac/isucon3.git
# cd isucon3/final/chef
# ./setup-chef.sh
# chef-solo -c solo.rb -j nodes/isucon3.json

作成される isucon ユーザはパスワード未設定、sudoers に登録がないため、適宜 visudo を実行するなどしてください。 これで提供 AMI とほぼ同様の環境になりますので、以降の初期データ用意などは上記 AMI の使用方法と同様です。

注意事項

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

Read more...

【2013.11.15 追記】
一部修正し、全データとしました
--
櫛井です。
ISUCON オンライン予選 利用言語比率と順位ごとの利用言語を行いましたので本選についてもまとめてみました。

第三回 ISUCON本選 利用言語比率

利用率の全体ランキングは以下の通りです。利用言語は複数選択可となっており、参加チーム数は25です。

44% Perl
36% Ruby
12%  Python
4%  PHP
4%  Node.js
4%  Go

第三回 ISUCON本選 順位別利用言語

以下のようになっています。

1位 Perl LINE選抜「チーム生ハム原木」
2位 Ruby オシャレ怪盗スワロウテイル
3位 Perl Fulab
4位 Ruby くらげとみかんと江戸幕府
5位 Perl 山形組
6位 Ruby 銀杏絶滅しろ
7位 Perl Third Party Cookies
-- Node.js Noder
-- PHP  チームたこやき
-- Ruby 白金動物園
-- Python, Go ぜかまし
-- Perl 坂パスタ
-- Perl └('-'└)└)└)<HEARTBEATS
-- Perl 50ms or die.
-- Perl チームぽわわ2
-- Ruby カヤック選抜「流れ弾」
-- Python 勝浦タンタンメン
-- Python かまたまうどん
-- Ruby  ( (0) / (0)) ☆祝☆
-- Perl 進撃の超大型パティスリー兄弟
-- Ruby Miami
-- Perl 335
-- Ruby :ok_woman:
-- Ruby The Revenge of Mr. Frank & Co.
-- Perl 潰すつもりで来てください


以上です。

ご参加いただいた皆さんの感想などはこちらにまとめています。
第三回 ISUCON本選 関連エントリまとめ : ISUCON公式Blog
Read more...

↑このページのトップヘ