ISUCON公式Blog

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

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

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

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

オンライン予選の利用言語比率を公開します。
オンライン予選は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

ISUCON7 オンライン予選 関連エントリまとめ

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

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

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


参加者
本選出場
・ISUCON7 予選通過した - すぎゃーんメモ
・ISUCON7予選2日目「Railsへの執着はもはや煩悩」で予選通過した - k0kubun's blog
・ISUCON7 予選を学生枠で突破した – ymyzk’s blog
Read more...

ISUCON7 予選問題の公開と解説

出題担当の @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経由のアクセスだから
Read more...

ISUCON7 オンライン予選 全ての順位とスコア(参考値)

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


順位 スコア チーム名
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
Read more...

ISUCON7 予選開始の遅延について

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

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

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

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

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

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

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

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

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

概要

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

↑このページのトップヘ