ISUCON公式Blog

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

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

ISUCON4 本選AMIとソースコードの公開

みなさんこんにちは。ISUCON4 出題担当チームの mirakui です。

2014年11月に行われた ISUCON4 本選ではテコラスさん提供のホスト上に用意された VM で競技を行いました。今回、本選の VM に似た環境を再現する AMI を用意しましたのでご紹介いたします。

AMI

本選環境を再現するために、2つの AMI を提供します。1つはチューニング対象アプリケーション用の AMI 、もう1つはベンチマーカー用の AMI です。

  • アプリケーション AMI
    • ami-86e8e287
  • ベンチマーカー AMI
    • ami-84e8e285

アプリケーション AMI は、本選で参加チームに3台ずつ提供された VM とほとんど同じ内容です。

ベンチマーカー AMI は、ベンチマークサーバを再現するもので、 benchmarker の実行ファイルと、本選で実際に用いられた動画ファイルのセット(13GB程度)が入っています。

推薦環境

本選の競技環境に近づけつつ、安定したスコアを得るため、以下の環境で試すことを推薦します。

アプリケーション用インスタンス(1〜3台)

  • インスタンスタイプは c3.large
    • ただし、カーネルパラメータによって 2 cpus / 1GB memory に制限されている(後述)
  • EBS は gp2 (general purpose SSD) 80GB
    • standard (magnetic) タイプだと性能の個体差が激しく、ガチャ問題が発生するため

アプリケーション用インスタンスは1台から3台のうち好きな台数を立てて下さい。初期状態の参考実装では複数台のアプリケーション用インスタンスがあっても無意味なので、最初は1台だけで充分でしょう。

なお本選では、VM3台のうち1台が 1 cpu 、のこり2台が 2 cpus で提供されました。この条件を再現するために、アプリケーション用インスタンスを3台立てる場合は、そのうち1台の /etc/grub.conf を編集して maxcpus=1 にしてください。詳細は後述します。

ベンチマーカー用インスタンス(1台)

  • インスタンスタイプは c3.2xlarge (8 cpus / 15GB memory)
    • 合計13GB程度の動画ファイルをメモリに展開する必要があるため

なお、インスタンス間のネットワークレイテンシを安定させるため、ベンチマーカー用1台およびアプリケーション用3台のインスタンスは、すべて同じ Availability Zone で起動してください。

Read more...

ISUCON4 本選の解説と講評

ISUCON4本選の振り返り

こんにちは。ISUCON4 出題担当スタッフの mirakui です。
あの盛り上がった本選から約一ヶ月が経過してしまいましたが、本選について振り返ってみます。

ISUCON4 の予選は、参加チーム180組以上という過去最大の規模でしたが、本選に出場できたのはその中のたった30組でした。この倍率の高さからも激戦であったことは想像に難くないと思いますが、一体どのような問題で、どのような戦いだったのでしょうか。

テーマは「動画広告配信」

本選問題のテーマは、「動画広告配信」でした。広告リクエストに応じて表示すべき動画クリエイティブを抽選し、5MB 程度の mp4 ファイルを出力するという問題です。

この問題には以下の内容が含まれていました。

  • 広告主が動画広告を入稿する API。おもに以下の情報を POST する
    • 広告動画ファイル
    • ユーザが広告(リダイレクタ)をクリックした時のリダイレクト先 URL
    • 広告枠の ID
  • 広告表示 API。広告の抽選を行う
  • ユーザが広告をクリックしたときのリダイレクタ API
  • インプレッション数のカウンタをインクリメントする API。インプレッションが発生したときに XHR で呼ばれる想定
  • 動画ファイルを返す API
  • 広告主向けにクリック数、インプレッション数を集計してレポートする API。レポートは速報レポートと最終レポートの2種類があり、それぞれ集計の内容が異なる

アプリケーションの概要は上記の通りで、Ruby 参考実装では約230行程度の規模でした。

また、参加者が動作確認をするための簡単な HTML を用意はしていましたが、ベンチマーカがアクセスするためのフロントエンドは無く、JSON API のみから構成されたアプリケーションでした。

本選レギュレーションと当日マニュアル

本選では、以下のドキュメントを競技者に配布しました。これらに目を通していただくと、当日の雰囲気が伝わるかもしれません。

競技環境

本選の競技に用いるサーバ環境は、テコラスさんが提供して下さいました。

今回の競技用サーバは1チームに3台(VM)ずつ提供され、全ての VM には同じようにアプリケーションがセットアップされていました。この3台をどのように使い分けてもいいし、1台だけでもいいというレギュレーションでした。ただ、参考実装では複数のホストで動作するようには作られていないので、3台で負荷分散するためには何らかの工夫をする必要がありました。

Read more...

ISUCON4 本選の利用言語比率

2014.11.19 8:00 追記
一部内容に不備があったので修正しました

----------
櫛井です。本選の利用言語比率を公開します。
ISUCON4 本選は30組の参加でしたが、複数言語をお使いのチームもありました。

ISUCON4 本選 利用言語比率

利用率の全体ランキングは以下の通りです。

Ruby   33.3%  10組
Go     30.0%  9組
Perl     20.0%  6組
PHP     16.6%  5組
Python   6.6%  2組
Node.js   6.6%  2組

順位別利用言語

以下のようになりました
1位 生ハム原木 Perl
2位 チームフリー素材 Go
3位 fujiwara組 Perl
4位 ナイスカロリー PHP
5位 lily white Go
6位 .dat Go
7位 SHINCHOKU.ZERO Python
8位 †空中庭園†《ガーデンプレイス》 Ruby
9位 Oops! Go
10位 山形組 Perl
11位 PHPに花束を PHP
12位 (ρ_-)/超銀杏バスターズ\(・ω・ o) Ruby
13位 Printemps PHP
14位 マカレラーズ Perl
15位 Mr. Frank & Co: A New Hope Ruby & Go
16位 チームレッド Perl
17位 GoMiami Ruby
18位 EH-MTI Ruby
19位 50ms or die. Perl
20位 blacklab~全ては僕らのせい~ Go
21位 Beer Qz's Ruby
22位 Team Ku's PHP
23位 MEAN普及委員会 Go(Node.js)
24位 BIG丼 Ruby
25位 ☆(ゝω・)vキャピ Python
26位 ご注文はPHPですか? Go
27位 railsへの執着はもはや煩悩の域であり、開発者一同は瞑想したほうがいいと思います。 Ruby
28位 椅子子 Ruby
29位 鉄球315 Ruby
- 部長と副部長 PHP



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

ISUCON4 本選 関連エントリまとめ

2014.12.10 17:00 追記 登録エントリ39件
--
櫛井です。

ISUCON4 本選にご参加いただいた皆さん、ありがとうございました!
こちらでは感想エントリや何をしたかに言及されたエントリをまとめていきます。見つけた順です。もしここに載っていないものがある場合は ISUCON4 本選のブログ書いたよ!フォームから教えてください!重複はこちらでチェックしますのでドシドシお願いします。

本選のTweetはこちらでまとめています
▼ISUCON4 本選 Tweet まとめ#isucon - Togetterまとめ

メディア掲載
・サーバーとウェブアプリを高速化し、さばけるアクセス数を競う技術戦が今年も -INTERNET Watch

運営
・ISUCON4 本選リアルタイムフォトレポート 【更新終了】 : ISUCON公式Blog
・ISUCON4 お疲れ様でした - 鳩舎
・ISUCON4 本選の解説と講評 : ISUCON公式Blog
Read more...

ISUCON4 本選リアルタイムフォトレポート 【更新終了】

2014.11.10 13:17 追記 更新終了
--
こんにちは、櫛井です。

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

関連エントリ
▼優勝賞金100万円!今年もやります 第4回 ISUCON 開催と日程のお知らせ #isucon : ISUCON公式Blog
▼ISUCON4 本戦出場者決定のお知らせと本選出場者の利用言語比率 : ISUCON公式Blog

▼ISUCON4 本選 Tweet まとめ#isucon - Togetterまとめ

DSC04111



今年も開始30分前に参加者がほぼ揃うという脅威の出席率
DSC04100
DSC04102


LINEや、協賛いただいているテコラスさんのノベルティなどが並びます
DSC04105
Read more...

↑このページのトップヘ