ISUCON公式Blog

WINNER'S PRIZE \1,000,000



   

[追記]一部表記に誤りがありましたので訂正いたしました

オンライン予選の利用言語比率を公開します。
オンライン予選は407チームの参加があり、予選についてのアンケートにて有効回答数 218チームとなりました。

オンライン予選 利用言語比率

利用率の全体ランキングは以下の通りです。利用言語は自由記入で複数入力したチームもありますので合計が回答チーム数を超えます。

Ruby  68組 31.2%
Go   62組 28.4%
Python 28組 12.8%
PHP  25組 11.5%
Perl   19組 8.7%
Node.js 18組 8.3%
C#    1組 0.5%


本選出場が決まった30チームに限定すると以下となります。

Go   16組 53.3%
Ruby   6組 20.0%
Node.js  4組 16.7%
Python  2組 6.7%
未回答   1組 3.3%



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

[11/6 10:45 更新終了]
オンライン予選にご参加いただいた皆さん、ありがとうございました!
こちらでは感想エントリや何をしたかに言及されたエントリをまとめていきます。見つけた順ですが後で何かしらのルールで並び替えます。もしここに載っていないものがある場合は ISUCON7 オンライン予選のブログ書いたよ!フォームで教えていただけると助かります。重複はこちらでチェックしますのでドシドシお願いします。

ブログを書くまでがISUCON予選です!

予選のTweetはこちらでまとめています
ISUCON7 オンライン予選 Tweet まとめ#isucon - Togetterまとめ


参加者
本選出場
ISUCON7 予選通過した - すぎゃーんメモ
ISUCON7予選2日目「Railsへの執着はもはや煩悩」で予選通過した - k0kubun's blog
ISUCON7 予選を学生枠で突破した – ymyzk’s blog
ISUCON7 予選突破コードをissue & PR付きで大公開! | Wantedly Engineer Blog
ISUCON 7 予選2日目を3位で通過しました - 酒日記 はてな支店
ISUCON7 予選突破した (白金動物園) #isucon - diary.sorah
ISUCON7 予選通過した! - Islands in the byte stream
ISUCON7予選を2日目3位で突破した - beatsync.net
ISUCON7参加しました@チームinarisan - sugilogのブログ
ISUCON7 予選1日目1位通過しました - mizkeiのブログ
isucon7予選に参加し通過した
ISUCON7の予選を学生枠で通過しました - くじらにっき++
そして人権を取り戻した(ISUCON7予選突破したぞ!!!) - 雑な話
ISUCON7の予選をはてなメンバーで通過してきました | おそらくはそれさえも平凡な日々
ISUCON 7 予選に参加した話
ISUCON7予選に参加しました - 男女比はカレーと福神漬けと同じくらい
ISUCON 7 予選に参加した話
ISUCON7に参加しました. - chigichan24のお気持ち表明
ISUCON7 予選感想 - TITD
ISUCON7予選通過できた #ISUCON - 水底
ISUCON 2017 の予選を突破したので、その記録 - Qiita
isucon7学生枠で予選通過してしまった - $a(){ a|a& };a
ISUCON7の予選を突破しました! - abcang’s blog
ISUCON7 予選通過した!! - Hateburo: kazeburo hatenablog
hidekiy blog: [isucon] ISUCON7 予選通過しました
ISUCON 7 予選1日目を1位で通過して来ました
ISUCON7 予選1日目を1位で通過しました。 - ken39arg’s blog
ISUCON7予選に学生チームで参加して1日目3位枠で突破しました!
ISUCON7 予選参戦メモ | ただのメモ
ISUCON7予選を総合4位で通過した - stoshiya's blog
ISUCON7予選参戦記 - Goryudyuma’s blog

ISUCON7予選1日目にチーム「ババウ」で参加して最終スコアは205148でした - Dマイナー志向
ISUCON7に参加した - いがにんのぼやき
ISUCON7で人権喪失を味わった #isucon - 私が歌川です
ISUCON7に参加しました - ぬぬん!
ISUCON 7 やまのほすけ 提出スコア 11,204 | うなすけとあれこれ
ISUCON7 オンライン予選に参加しました - 眠すぎて明日が見えない
ISUCON7にチーム「common.php」で出場しました。 - uzullaがブログ
ISUCON 7 予選落ちを支えた技術 - ほとラボ
ISUCON7に出た #isucon - はらへり日記
ISUCON7に参加〜そして敗北へ〜 - Foreverly
ISUCON7 に参加して相変わらず予選敗退しました。 - あいつの日誌β
ISUCON7予選敗退を受けていま考えていること - まさ@ブログ書き込み中
ISUCON7予選に秒速5000兆クエリというチームで参加した - Sexually Knowing
静的ファイルのキャッシュコントロールについて #isucon 7 – そろそろちゃんとやります
ISUCON7に参加して予選突破しませんでした。 – そろそろちゃんとやります
ISUCON7 に、 D2C dot チームで参加してきました! – D2C dot Weblog – デジタル・マーケティングの技術&事例ブログ
SmartHR 開発チームで ISUCON7 に参加しました | SmartHR Tech Blog
ISUCON7予選に参加してパフォーマンスチューニングの代わりにC#実装のために全時間を使ってきた - 451 Unavailable For Legal Reasons
ISUCON7 の予選に出た (95352点) - Unyablog.
ISUCON7の予選に参加しました #isucon - @matsumana の技術メモ
ISUCON7 予選敗退した #isucon - tknzk's tech log
ISUCON7で人権を得ることに失敗した - chiastolite’s blog
ISUCON7予選敗退してきました - ragi256のブログ
ISUCON7 予選に参加した | TRIAL DANCE
ハンバーグは中身が少し赤い程度が美味しい(ISUCON7予選参加記) - 日々精進
ISUCON7 に参加して惨敗した - おうさまのみみはロバのみみ
ISUCON7予選に参加してボロ負けしてきた – Ryosuke Sato – Medium
ISUCON 7予選に参加しました - すてにゃん氏の技術ぶろぐ
ISUCON7 競技者として、コーチとして、出場してきました - The paradigm shift
何も知らないのに ISUCON 2017 に参加した - mayoko’s diary
ISUCON 7 予選(1日目)に参加して悔しい思いをしてきました(アプリ編
ISUCON7予選、学生枠で挑みました。 - おれ、エンジニアになるよ。
ISUCON7「学生気分」 - Write and Run
ISUCON7 予選2日目にチーム「学生気分」で参加した - osyoyu.hatenablog.com
ISCUON7 予選2日目に参加して予選通過出来ませんでした #isucon - ainameの日記
ISUCON7にrubyで参加して手も足も出なかった - azihsoyn's blog
isucon7で惨敗した。 - フクチ@プログラミングと釣り好き大学生のブログ
ISUCON2017に初参加した - Screaming Loud
ISUCON7予選 参加振り返り | Dabits
残念ながら ISUCON 7 は予選敗退で幕を閉じた | ごみばこいん Blog
ISUCON7で予選落ちしてきた - 日頃の行い
ISUCON7参加記録とふりかえり #isucon - Qiita
ISUCON7予選1日目にチーム「ババウ」で参加して次点で落選しました - netmark.jp
ISUCON7に「ガトリンガー葉の仲間たち」で参加して今年も惨敗しました - SEEDS Creator's Blog
ISUCON7に参加したのでその雑記 - Qiita
ISUCON7参加記録とふりかえり #isucon - Qiita
ISUCON7の予選で敗退した - TakiTakeの日記
ISUCON7予選で得た知見 - non117's diary
ISUCON 7 予選敗退しました - ナチュラル @rch850
チーム ZGB で ISUCON7 予選に参加しました - ravelll の日記
ISUCON前線異状なし | owlWorks
ISUCON7に初参戦してフルボッコw - めじなてっく
ISUCON7に参加して予選敗退した - 平常運転
ISUCON7に参加して予選を突破できませんでした😱 – okyunnura – Medium
ISUCON7予選にチーム「Rising Sun」で参加しました | hypermkt blog
ISUCON 7 予選に参加した - castaneaiのブログ
ISUCON 7 予選参加 | にろきのメモ帳
ISUCON7予選に参加してきました - Qiita
ISUCONに初参加した - ふぁんふぁん建てました
ISUCON7に参加してきました - Hack Your Design!
ISUCON7の予選に参加しました - Hitori-Gotten Log
#isucon 7 予選敗退しました | へぼい日記
ISUCON2017参加記 - kyuridenamidaのブログ
ISUCON7で惨敗してきました – Tatsuya Kaneko – Medium
ISUCON7の予選2日目に参加した話 - kariaの日記 @ Alice::Diary
ISUCON7予選で81位でした | gam0022.net
ISUCON7予選に出場してきました(インフラ編)
ISUCON7 予選参加した - はてなブロック

Read more...

出題担当の @methane です。今年の予選問題について解説します。

問題の公開

予選問題のベンチマーカーと参照実装のコードと、Ubuntu 16.04 上に予選問題を動くようにするための手順を公開します。感想戦にご利用ください。
予選問題のリポジトリ

複数台構成について

今年のISUCON予選では、予選としては初めて複数台構成を利用してみました。

倍率が高くなった現代のISUCONにおいては、多くの参加者にとって予選こそがISUCONになるということを念頭に、ISUCONの醍醐味で予選でまだやってないのはなんだろうと考えたときに思いついたのが複数台構成でした。

また、1台あたりの性能を厳しく制限することで、1プロセスで簡単にマルチコアを活かせるGoが強くなりすぎないようにするという考えもありました。サーバー1台あたりのCPUは1コアしかないので、Goでも他の言語でも複数コア数を使いたければ複数サーバーを使うしかありません。メモリも1GBしかないので、1台で捌く状態でチューニングが進むと画像のアップロードなどで苦戦する可能性が高いです。(実際に1台オンメモリ戦略を実装してみて苦戦しました。)

最近の予選では本戦での実力以上にGoを使ったチームがトップ争いをすることが多い印象がありましたが、今年の予選では(アンケート結果を見ないとわからないものの)そこまでGoが強い印象もなく、本戦に近い雰囲気の問題にできたのではないかと思います。

残念ながら、各日200以上のチーム数×3台=約600台のサーバーに、ベンチマーカーを加えた大量のサーバー群の構築を甘く見ていたために、大きなトラブルの要因になってしまいました。特に土曜日の参加者に迷惑をかけてしまったのと、インフラ構築をしてくれたメンバーに連日の徹夜をしてもらう事になったのは、もとを辿ればこの思いつきが原因です。ごめんなさい。

来年以降の出題者へのアドバイスとして、予選は絶対に参加者自身にサーバーを起動してもらう去年までの形式が良いと思います。

アプリケーションについて

今年の予選はチャットアプリケーションでした。特別な意味があったわけではなく、単にN+1や画像アップロード、簡単なリアルタイム要素など、程よくISUCONの過去問のエッセンスを配合しやすかったのでこのお題になりました。

静的ファイルと画像ファイルのキャッシュについて

私の想定では静的ファイルや画像はCDN経由のアクセスだから
Cache-Control: public, max-age=3600
をつければ自力で配信する必要はない、という問題にするつもりでした。

ベンチマーカーは(エラーが起こらない限り)毎秒一定のペースでユーザーを増やし、各ユーザーがプロフィール画像を登録していくのですが、キャッシュが無い、あるいはユーザー単位のキャッシュではユーザー数に比例したダウンロード帯域が必要になってしまい、後半すぐに帯域がサチってしまいます。

ユーザー数が増えていってもダウンロード帯域をサチらせないためには、CDNによるキャッシュが効いているという前提にしてユーザー数が増えても画像一つあたりのダウンロード数が増えない設計が必須でした。

当初の予定では単に
Cache-Control: public, max-age=3600
をつければいいので難しくないはずだったのですが、予選直前に
max-age
をつけなかったときの 304 によるスコアが想定より大きいことに気づいて、「
max-age
をつけないほうがスコアが簡単に上がるのはおかしい」と
max-age
がついていたらダウンロードをスキップする部分を削ってしまいました。

このときに複数台構成で正しく304を返す難しさに思い至らなかったために、意図せずこの部分で多くのチームをハメてしまうことになってしまいました。

GET /fetch と GET /message

エラーやタイムアウトがない場合、毎秒新規ユーザーが登録してきます。メッセージの投稿数はユーザー数に比例するだけですが、メッセージの受信数はユーザーの2乗に比例します。ボトルネックを潰してメッセージの流量を上げていけば気持ちよくどんどんスコアが上がっていくという設計にするつもりでした。

特に、
GET /fetch
はスコアがなく、
GET /message
には受信メッセージ数にも加算されるというところがポイントでした。

クライアントは
GET /fetch
をポーリングしていて、閲覧中のチャンネルに新着メッセージがある場合には
GET /message
を呼んで新着メッセージを受信します。
GET /fetch
のレスポンスをどんなに改善しても、新着メッセージがなければスコアは上がりません。閲覧中のチャンネルに新着メッセージが1件ある状態ですぐに返しても、
GET /message
で1点とそこに含まれる1メッセージ分の1点で、2リクエストで2点しか稼ぐことができません。

しかし
GET /fetch
をタイムアウトにならない範囲で遅くしてやると、
GET /message
は1リクエストで数十件のメッセージを取得することができるので2リクエストで数十点を稼ぐ事ができます。

このようにリアルタイム性のあるアプリケーションでは、要求される時間内でイベントをバッチ化することでスループットが上がっても比例して負荷が上がらないように設計できることがあります。

GET /fetch
GET /message
は N+1 クエリや COUNT クエリなど非常に重い処理になっていたのでどのチームもこの処理を軽くすることに力を入れたと思いますが、単に処理を軽くするだけでなく一見無駄に見える参照実装の sleep の意味に気づくとブレイクスルーすることができたと思います。

最後に

今回の予選は甘い想定や調整・検証不足のため、参加者の皆様に気持ちよく楽しんでもらうことができず、申し訳ありませんでした。

本選までもうあまり時間がありませんが、参加者が余計な部分で苦しむことのないように最善を尽くします。本選もよろしくお願いします。
Read more...

参加者の皆さんからご回答いただいているアンケートにて「正確じゃなくていいのでスコアや順位を知りたい」という声が多かったため全ての順位とスコアを参考値として掲載いたします。
(全てのチームに対して再起動試験を行っていません、あらかじめご了承ください)


順位 スコア チーム名
1位 588,107 †空中庭園†《ガーデンプレイス》
2位 522,461 スギャブロエックス
3位 481,024 fujiwara組
4位 383,085 予算ZERO
5位 368,444 MSA
6位 314,995 白金動物園
7位 268,588 チーム新卒
8位 266,585 takedashi
9位 262,143 円山町
10位 256,120 都営三田線東急目黒線直通急行日吉行[学生]
11位 228,772 negainoido
12位 221,823 ソン・モテメン・マサヨシ
13位 217,457 railsへの執着はもはや煩悩の域であり、開発者一同は瞑想したほうがいいと思います。
14位 216,923 oops
15位 215,280 チームinarisan
16位 214,613 にるぽ
17位 212,464 焼肉ジャンボチキン
18位 210,472 LGTM☆
19位 205,148 ババウ
20位 203,319 luminous
21位 184,340 人は何故生きるのか[学生]
22位 166,218 しましまスペシャル
23位 134,214 即興パフォーマンス
24位 131,166 炉端焼き、下から焼くか?横から焼くか?
25位 125,550 へしこず
26位 111,899 カリスマ
27位 108,797 すっGoーい
28位 104,301 肉じゃが
29位 104,258 common.php
30位 103,153 こい☆だま
31位 102,596 kyouken
32位 96,576 TMFusion
33位 96,368 福岡スレンダーズ
34位 95,883 博多三双 明太子ラーメン
35位 95,617 Anago
36位 95,352 キッチンごりら
37位 94,184 hetenko
38位 92,037 秒速5000兆クエリ
39位 89,047 チーム名を考えるのが苦手すぎる[学生]
40位 87,281 g0tiu5a
41位 81,003 馬なんとかさん
42位 80,770 学生気分
43位 79,590 LabALICE
44位 78,135 鍋部
45位 77,826 22.5
46位 76,904 ワイハリマ
47位 76,539 Adlersprung
48位 76,068 NaruseJun[学生]
49位 75,982 モトーナオヤ
50位 75,658 チームりんご
51位 75,422 シナモンズ
52位 75,346 ML[学生]
53位 74,225 獺祭
54位 74,110 D2C dot
55位 72,285 ガトリンガー葉の仲間たち
56位 65,370 ひでおとゆかいななかま[学生]
57位 65,035 giga3
58位 64,507 トクガンパク
59位 63,504 FCCPC_ravina
60位 63,442 瞬殺の美学
61位 61,649 エナジードリンク必須
62位 61,599 普通のエンジニアが【いすこん】やってみた
63位 61,033 おなかぽにょ
64位 59,325 青山サンライトビルズ
65位 59,142 チームチキナン
66位 58,705 元pyns
67位 54,228 ばとるびーだまんって知ってる?[学生]
68位 54,010 チーム人間性
69位 53,589 Ta-da!
70位 52,697 your_rope
71位 50,956 山形組
72位 50,737 nobishiro
73位 49,956 kstm[学生]
74位 49,081 メンチコロッケカレー
75位 48,956 オシャレ怪盗スワロウテイル
76位 48,950 百万円ドリブン[学生]
77位 48,753 エンボディパイプ椅子
78位 48,570 肩甲骨
79位 47,418 vg12
80位 46,826 イカ焼きワイン
81位 46,461 アロマゲドン
82位 45,094 仮想通貨で一発あてたい
83位 44,980 Akumi's Lab[学生]
84位 44,812 座るだけのコンテストってな〜んだ?[学生]
85位 44,234 元SIerと現SIer
86位 44,084 By end of Sunday
87位 43,614 ITF
88位 43,072 癒しのニャン先生
89位 41,768 tasso
90位 41,493 チームおにやんま
91位 41,250 naisted
92位 41,068 憂鬱な火曜日
93位 40,651 ようこそJavaリパークへ
94位 40,428 一元
95位 40,115 すくつま
96位 40,088 何もしちょらんのに壊れた[学生]
97位 39,612 tmp[学生]
98位 38,605 まだチーム名で消耗してるの?[学生]
99位 38,260 :latin_cross:入院中:latin_cross:[学生]
100位 37,681 ホテル・カリフォルニア
101位 37,540 購入フォーム
102位 37,442 人間にはチーム名を決めるのが難しい[学生]
103位 37,140 :innocent:[学生]
104位 36,800 .dat
105位 36,673 副部長と部長x2
106位 36,528 isucon_friends
107位 36,483 お気持ち[学生]
108位 36,142 benkyokai
109位 35,864 まにあわん
110位 35,859 ZGB
111位 35,741 I_hate_steaks
112位 35,722 新入生&卒論[学生]
113位 35,568 人間性[学生]
114位 35,054 むー
115位 35,021 Beef Chicken Pork( ゚ρ゚)
116位 34,514 Yo
117位 33,860 Harekaze Infra科[学生]
118位 33,718 水田
119位 33,482 すぐちむ
120位 33,471 m3d3v
121位 33,373 中身が少し赤い程度王国[学生]
122位 33,109 taltal
123位 32,735 opstFighters002
124位 31,656 DCL1
125位 30,882 かぼちゃの炊いたん
126位 30,607 Anti-Gravity
127位 30,455 カテゴリー0
128位 30,222 ウデマエC-
129位 30,105 チーム学生自治[学生]
130位 30,095 console.log
131位 29,997 坂寝
132位 29,982 scoutyインターンず[学生]
133位 29,506 isutee
134位 29,445 chanmiss
135位 29,418 くにきやらぼって名前から変えようって話してたら応募忘れてたので一旦このままいきます
136位 28,936 ガチムチレンジャーズ
137位 28,933 インテークマニホールディングス・ジャパン 2017
138位 28,870 FWT4
139位 28,840 パジャマ飯
140位 28,660 three cows
141位 28,487 社畜の巨人
142位 27,607 やれるだけやる
143位 27,279 バナナマンさん
144位 26,772 Dark
145位 26,759 チーム爆アド
146位 26,702 Goレベル5
147位 26,217 ニャン
148位 26,048 ふんばり温泉チーム
149位 26,031 GRILLED MEAT
150位 25,199 Excel職人
151位 24,385 daisucon
152位 24,306 buono
152位 24,306 underscore
153位 24,238 misawa.sakaue
154位 24,151 カルボナ〜ラ
155位 24,084 375日目の夏
156位 24,078 withT
157位 24,027 moku2
158位 24,020 ガンタンク
159位 23,951 DRMTLS2010
160位 23,464 きざわ[学生]
161位 23,340 三島ブラザーズ[学生]
162位 23,338 チャペアペ虎火ミョーホントゥスケ人造ファイヤファイボワイパー
163位 22,912 fmcp
164位 22,897 微課金
165位 22,768 ドバゲロス
165位 22,768 hiroshi[学生]
166位 22,759 ISUWAT
167位 22,426 ケーキ屋さん見習い
168位 22,391 そり
169位 22,322 ワイルドワイクボタ
170位 22,113 oysters
171位 21,594 urchin
172位 21,388 indo8
173位 21,366 優勝
174位 21,281 だいちゃんs[学生]
175位 20,838 reiga
176位 20,520 ドラゴトロピカル
177位 20,318 チーム鉄塔
178位 20,247 だーくねす☆らいじんぐ
179位 20,181 Team竹橋
180位 20,103 クソアニメ同好会
181位 19,919 ボ
182位 19,610 dGFpc2VpeXVtYQo[学生]
183位 19,371 赤城山
184位 19,218 EagleJump秋葉原 R&Dセンター[学生]
185位 19,060 チーム高円寺
186位 18,656 yokohama-north
187位 18,568 単細胞[学生]
188位 18,125 チームちゃちほこ
189位 18,081 チーム名どうでもいい
190位 17,386 歯医者選びは慎重に
191位 17,326 猫とバター
192位 17,275 肝機能障害C
193位 17,087 KOKORO[学生]
194位 16,688 Sign of the Horns[学生]
195位 16,589 imeter
196位 16,582 はぐれ艦
197位 16,475 太田製作所
198位 16,154 urabu
199位 16,118 Tokyo Farmers
200位 16,035 ローテーブル
201位 15,575 01cpp
202位 15,550 俺たち\(^o^)/
203位 15,311 denys
204位 15,304 メキシコ沖
205位 15,213 tkno[学生]
206位 15,173 まさ[学生]
207位 15,164 FEAR FOR FIGHT ~駆け込んだ戦士たち~
208位 15,151 悪質
209位 15,002 Y澤不動産
210位 14,763 チーム川村
211位 14,728 TSUKADAFARM
212位 14,554 エレメンタルするめ
213位 14,536 あああああ[学生]
214位 14,529 土曜の午前[学生]
215位 14,500 伝説のとうもろこし[学生]
216位 14,366 TFOB
217位 14,252 くもキャスト
218位 14,178 ちゃんぽん
219位 13,967 ISUCON Reliability Engineers
220位 13,912 さかえ飲みたい
221位 13,615 pチーム
222位 13,347 チーム rehash.fm
223位 13,158 ebi
224位 13,096 トップガン
225位 12,996 †漆黒ノ天使達†〜3度目の正直〜
226位 12,528 chicchi[学生]
227位 12,437 morimoto組 v0.2.0
228位 12,212 :okdog:
229位 12,036 オツベル
230位 11,838 ちーむべーこん?
231位 11,832 週刊へちま
232位 11,543 master_thesis[学生]
233位 11,327 MK5[学生]
234位 11,250 ケバ部
235位 11,204 やまのほすけ
236位 11,182 はの肉
237位 11,055 yuruisucon[学生]
238位 10,550 3番パイントで
239位 10,162 Beast
240位 10,060 にゃん[学生]
241位 9,562 魚類[学生]
242位 9,348 なし
243位 9,066 WCDI[学生]
244位 9,062 JD[学生]
245位 8,783 ft. Zed
246位 8,037 Rising Sun
247位 7,917 nw-con
248位 7,730 MOIST[学生]
249位 7,708 わびさび
250位 7,670 かにぱん
251位 7,519 FUJI-CON_mk-2
252位 7,471 P
253位 7,460 段田商会
254位 7,238 5-apples[学生]
255位 6,765 はじめてのISUCON 初版[学生]
256位 6,589 タコス
257位 6,470 umtb
258位 6,363 放課後スイートロールケーキ
259位 6,359 西の民[学生]
260位 6,298 Opinnaker
261位 6,229 リンスインシャンプー
262位 6,166 日替わり定食
263位 6,140 全然わからない。俺たちは雰囲気でScalaを書いている。
264位 6,127 cattivo
265位 6,048 だからあれほどリセマラ頑張っておけと
266位 6,014 おういぇ
267位 5,980 東京フォレスト
268位 5,971 team in misosoup
269位 5,957 Boss
270位 5,831 Harekaze Engineering科
271位 5,784 株式会社
272位 5,711 大人のパイン、公序良俗に反するのだろうか? 反しないのだろうか?
273位 5,326 タイプnull[学生]
274位 5,176 Rapid House
275位 5,022 iPurple
276位 5,004 ops-4
277位 4,654 MCP
278位 4,567 仕事下さい[学生]
279位 4,468 やっぺと愉快な仲間たち。
280位 4,366 Yahoi[学生]
281位 4,196 かもねぎ
282位 3,941 温野菜
283位 3,844 kt3k.com
284位 1,849 チームラガー

■以下は再起動試験を通らなかったチームですが参考値を掲載しています

fail 218,867 闇に飲まれよ
fail 134,592 Smile
fail 104,764 チームZONO
fail 95,027 ルミカライト
fail 90,157 Asakusaの方から来ました
fail 74,143 かに道楽
fail 71,371 team giroppon
fail 70,186 3-Way Handshake
fail 69,712 いすこん!!!!!!!
fail 66,591 まさるつ♫
fail 66,117 餃子に包まれた愛の物語
fail 55,067 AKYLab
fail 49,782 ぶっちぎり
fail 48,615 海鮮ちらし丼
fail 47,885 サウナーズ
fail 44,338 めちゃさん、Perl書くってよ
fail 44,016 5000兆円欲しい![学生]
fail 43,996 魁☆高タンパク
fail 43,459 サーバサイダーズ
fail 43,186 ズッコケ三人組
fail 42,284 海南鶏飯
fail 41,095 ウデムシマニア
fail 40,588 HighResponsers
fail 39,910 ぽくりんざわ
fail 39,722 ARINE
fail 36,904 NK
fail 36,253 WeGottaWing
fail 35,123 ブルゾンひふみ with B
fail 35,005 yoshikids
fail 34,842 GoldAX
fail 34,580 okinawa.rb
fail 33,561 あたまのわるいひと
fail 33,343 BKK
fail 33,248 k02
fail 30,542 会社の犬(放し飼い)
fail 28,813 long live http/418
fail 26,807 とりあえずモヒート
fail 26,715 しょうゆ
fail 25,660 チーム猫背
fail 25,536 あからっぷ
fail 24,835 TechCircleRED
fail 23,948 C27H46O
fail 23,445 dedo882
fail 23,380 KATURA LABORS
fail 23,150 ちーむよぴこ
fail 22,978 週4労働推進委員会
fail 22,118 インターネットは爆発しました[学生]
fail 21,698 日本酒勢
fail 21,081 Route9
fail 20,907 ネットワーク障害のない会社をつくる
fail 20,727 kst
fail 20,272 流れ弾
fail 20,207 中国四国九州
fail 19,919 組み込みチーム
fail 19,425 showwins
fail 18,813 勉強不足。経験不足。練習不足。
fail 18,593 奴 with B
fail 18,537 0%
fail 18,392 スシロウ
fail 16,898 なにもしてないのに壊れた
fail 16,880 狂い咲け課金P
fail 16,070 MyKensuke ストロベリーミート味
fail 14,403 仮想通貨でやらかしちゃった人の顔が見たいなぁ[学生]
fail 14,050 さいあく分身の術
fail 13,363 unkngk[学生]
fail 13,027 App
fail 12,863 wgwgwg
fail 12,825 熱盛
fail 12,592 野田.js[学生]
fail 12,406 さーばはともだち こわくないよ
fail 11,852 tanmen's
fail 11,792 ajisai[学生]
fail 11,757 いんふらえんじにゃー
fail 10,668 最近会社をやめました
fail 9,257 ありくい
fail 8,904 おむすび
fail 8,791 ばなな[学生]
fail 8,236 &.
fail 8,123 opstFighters001
fail 6,836 We are the Franks
fail 6,824 SMAP
fail 6,651 案山子[学生]
fail 6,647 noobs
fail 6,349 Walkure
fail 6,323 長田Lab[学生]
fail 6,306 MRTと愉快な仲間たち
fail 6,280 前世ふなむし
fail 6,147 __kb__
fail 6,037 \(^o^)/オワタ\(^o^)/[学生]
fail 6,036 おにぎり組ε\\nうどんマンゴーラッシー
fail 6,018 masakt
fail 5,969 ベイカーストリート221B
fail 5,940 グッパノソロイ[学生]
fail 5,731 アリスと秒速
fail 5,375 ( (0) / (0)) ☆祝☆
fail 5,115 IS2010
fail 4,870 毛モノフレンズ
fail 4,397 雰囲気でsql叩いてる
fail 4,171 TOGEP[学生]
fail 4,119 jZV41sbF
fail 4,080 ブレーメンの音楽隊[学生]
fail 3,284 kentac55は割りと何でも出来る方だから、ISUCONも出来るって思うな。
fail 2,656 見えざる抑止力<>
fail 2,044 ぞい

■以下はベンチマークを1度も実行していない、またはスコアが0点のチームです
0 ミニスーパーファミ
0 お掃除道具セット
0 SHINYOKO
0 Standalone
0 :cored
0 パ ル プ ン テ
0 finfin
0 5518
0 AKG[学生]
0 WINシングル定額[学生]
0 ミハエルマハロストーン
0 名古屋名物てばしゅん
0 パイセンズ
0 kawaya
0 大和B
0 まかクリスタル
0 DDBB
Read more...

ISUCON7 予選、出題者チームにてインフラ担当をしている KLab 横川です。

まず、ISUCON7 予選にご参加していただいた多くの皆様、ありがとうございました。
大事な予選にて 1 日目、2 日目ともに開始時刻の遅延という重大なトラブルを発生させてしまったことをお詫び申し上げます。特に予選1 日目の方は告知していた開始時間から 3 時間も遅れてしまい大変申し訳ありませんでした。

このエントリでは、今回の開始時間の遅延原因についてお伝えいたします。

予選のサーバー、ネットワーク構成

まず、問題の概要に入る前に予選のサーバー、ネットワーク構成について紹介します。

予選に参加された方はすでに御存知の通りだと思いますが、今回の予選での構成は 1コア、1GBメモリ、20GBディスクで構成されたサーバーが 3台からなっており、それぞれ別々にグローバルIPを持ってインターネットに接続されながら、内部でのデータベースなどの通信のためにローカルのスイッチでも接続してある構成です。少し複雑な構成ですが、これはリハーサルなどを実施した際に外部ネットワーク経由で遅延が見られたことなどからデータベースは別ネットワークを利用しようということでこの構成になりました。

この構成を今回さくらさんからご提供してただいている「さくらのクラウド」で実現するためにサーバー(+ディスク) スイッチのサービスを利用させていただきました。

また、手動で管理するのは大変ですので、基本的な構築作業は Terraform for さくらのクラウド を利用しています。これはオーケストレーションツールである Terraform からさくらのクラウドを操作するためのプラグインで、利用マニュアルも充実しており、新機能への対応の速さなど含めてとても便利に使わせていただきました。これがなければ恐らくこのような複雑な環境を大量に構築することは難しかったでしょう。作者の方には本当に感謝の言葉しかありません。

ただ、そのままでは予選環境としてさくらさんに用意していただいた専有ホストが利用できないので、 もう一人の予選インフラ担当で去年の優勝メンバーの一人であるはてなの @kizkoh が本家のマージされていないプルリクエストなどから必要機能を実装してくれました。(感謝!)

概要

今回の ISUCON では嬉しいことに参加チームは 400 チームを超えました。

ただ、これだけ参加していただけるチームがあるということは、上記のような構成を 予選1日あたり約 200 チーム分、サーバー台数では約 600 台も用意する必要があるということになります。

この二日間合計 1200 台を用意するのに、我々は完成したデプロイ済みアーカイブ(ディスクイメージを固めたもの)から作成することにしました。1200 台のサーバを先に用意して、それらに対して変更のあったアプリなどをデプロイするという方法も考えなかったわけではありませんが、1200 台のデプロイをうまくするより完成したアーカイブからきれいなサーバーを作成するほうが途中の切り戻しなどで管理が容易なのではないかと考えてこの形を取りました。

本題の実際の参加者向けサーバー構築は、最終リハーサル完了後の前日夕方より作業を開始し最大12時間程度を見込んでいました。これはそれまでの経験上、terrafform を使ってサーバ構築をする際に1時間に 50 から 60 台程度のサーバーを用意することができていたので予選 1日分つまり約 600 台を用意するのに最大で 12 時間、チームごとに作成できるようにしているので並列で実行すれば数時間程度で終わると考えていたためです。

ところが、本番前日に実際の構築作業をはじめてみるとこの目論見はそれほど甘くないことがわかりました。まず、並列での作成に関してですが、terraform から利用するサーバーやディスクの作成 API にスロットルがかかっていて、並列に作成して時間を短縮し翌日に備えるという目論見は脆くも崩れ去りました。それでも開始時間までには全てのサーバーの作成を完了できると見込んでいたのですが、残り百台強を準備すれば完了となる早朝時間帯から午前中にかけては API が混み合っている時間帯となっているようで当初に期待していたような速度で作成ができない時間が数時間続いてしまいました。

原因

この問題の大きな原因は我々インフラ担当者の 1200 台というサーバ台数に対する見積もりの甘さにあります。

予選当日の環境を作るまでは、検証などを目的として 100 台弱までしか作成した経験がありませんでした。ただ、その延長で今回必要な 1200 台を用意できると考えていたのです。そして今回は環境作成後に変更が入ることを嫌ってここまでは大丈夫だろうとぎりぎりまで環境構築作業を遅らせたのですが、その甘かった見積もりから環境構築を実施する作業時間を出して、マージンもほとんど取っていなかったために今回の事態を引き起こしてしまったと考えています。

本選にむけて

今回、予選に参加された方々には ISUCON に対してマイナスな感情を持たせてしまったのではないかと、今までこの ISUCON を作り育ててくださった方々や今回一緒に予選を準備した他のメンバーにも本当に申し訳なく思っています。

予選でのこと教訓として、本選では参加していただいた全員に今回の ISUCON もやはり良かったと言ってもらえるよう、これから @kizkoh とともにしっかりと準備を進めていこうと思います。
Read more...

↑このページのトップヘ