ISUCON公式Blog

WINNER'S PRIZE \1,000,000



   

予選の問題作成を担当したメルカリのkazeburoです。

ISUCON9の予選に参加していただいた皆さま、ありがとうございました。
お楽しみいただけましたでしょうか。

また、主催の941さんをはじめとするLINEの皆様、ポータルの作成と運用をやっていただいたさくらインターネットの皆様、問題作成と事前回答に協力にいただいた皆さま、サーバ環境を提供していただいたアリババクラウドの皆さま、本当にありがとうございました。

問題の公開

今回の予選問題のソースコード、データ、およびプロビジョニングに使用した設定ファイルなどは以下のリポジトリで公開しております。アプリケーション、ベンチマーカーを起動する手順もありますので、手元で挑戦することもできるかと思います。

https://github.com/isucon/isucon9-qualify

蛇足ですが、本リポジトリのコミット数は1,700以上、PRも400件以上あり、これまでのisuconのコードの中でも規模の大きなものとなっています。

課題アプリケーション

今回課題となったアプリケーションは、椅子を売りたい人/買いたい人をつなげるフリマアプリ「ISUCARI」です。
a1

参加者より「弊社の椅子が勝手に売られている!」などの声も上がった商品画像は、941さんより提供していただきました。

新着商品タイムライン、カテゴリ・ユーザごと商品一覧、取引をしている商品一覧や商品詳細といったページがあり、購入や売れた商品の配送に関わる機能もあります。ソースコード中の webapp/docs/APPLICATION_SPEC.md にアプリケーションの使い方を簡単にまとめてあります。予選に参加したけど見ていない方、これから問題にチャレンジする方も参考にしてもらえると良いかと思います。

アプリケーションの参考実装のソースコードとは別に、2つの外部サービスである「決済サービスAPI」「配送サービスAPI」があり、購入や配送の際にアプリケーションからこれらのAPIと通信を行います。

ISUCARIは「安全なカード決済」・「お互い匿名で安心配送」をうたってますので、決済情報がウェブサービスに渡らないようにする非通過化を実装しています。CORSにより決済情報を直接決済サービスAPIに渡し、一時的なtokenのみがアプリケーション内で扱われるようになっておりました。また、配送サービスAPIを介することでお互いの住所を知らせず、匿名で椅子が取引されるサービスとなっています。

フロントエンドについて

今回の問題のフロントエンドはReact.jsを用いたほぼ完全なSPAとして実装されており、サーバ側は常に同一のstaticなHTMLを返すアーキテクチャとなっていました。

フロントエンド側でReact.jsによるDOMレンダリングが行われた後はログイン状態の判定、データの取得、前述した決済サービスAPIとの通信をフロントエンド側から直接行っていました。この構成にすることで言語に関わらず初期実装では固定されたassetsを返すのみとなっていました。

今回のAPIはコードを読むだけでどのような用途に使われるのかを読み解くのは簡単ではなかったので、アプリケーションを実際に動かすことでなんのために使われるエンドポイントであるかを直感的に理解できるようにしています。

サーバ環境

ISUCON9 予選では、アリババクラウドの東京リージョンの指定したサーバインスタンスを最大3台まで起動して利用できるようにしました。

今回利用したインスタンスのタイプは「ecs.sn1ne.large」という vCPU数2個、メモリ4GBというスペックで、ストレージには「Ultra クラウドディスク」を使いました。ecs.sn1ne.largeはCPU非共有型のインスタンスで安定した性能が確保されています。インターネット側の通信は最大 100Mbps、VPC内の通信は1Gbpsまで通信ができる環境となります。ubuntu 18.04 LTSをベースに問題のソースコード、データベース(MySQL)、リバースプロキシ(nginx)、アプリケーションサーバ(Go)が起動するOSイメージを参加者に共有し、インスタンスはこのイメージから起動する形としました。

ベンチマークは3台のうち、指定された1台のインターネット側のIPアドレスに対して検証と負荷のリクエストを送ります。1台よりも多くのインスタンスを使う場合は、最初の1台からリクエストを振り分ける必要があり、どうサーバを使い分けるかも問題を解く上で重要になります。

ベンチマーカーを実行したインスタンスは、12 vCPUの「ecs.sn1ne.3xlarge」を利用しています。同じ東京リージョンに設置しました。
※初稿の公開時、インスタンスのモデルが正しくなかったため訂正しました

AOSSL化

OSイメージにはSSLの証明書が含まれており、ベンチマーカーからはhttpsでのリクエストを行いました。決済や配送のAPIも当然httpsでのリクエストが必須で、常時SSL化の環境が実現されてました。

共有したOSイメージにて起動した状態では、nginxの設定がubuntuのパッケージでインストールしたままの、ほぼデフォルトで状態であるため、ベンチマーク中にnginx が使うCPUが高くなります。パフォーマンスを出すためにはいくつかのチューニングが必要でした。HTTP/2を有効にしたチームが多くあったかと思います。

なお、HTTP/2でのリクエストが行えるよう、ベンチマーカーのGoのバージョンは
Transport.ForceAttemptHTTP2
をサポートする、リリースされたばかりの 1.13 を利用しています。

データ量

初期データは商品数 50,000件、ユーザ数 4,000人、カテゴリ数 43件あり、合計で200MB程度となっています。商品のうち90%が10%のユーザから出品され、400人が100個以上出品、のこりは数個というかなり偏っている状態となっていました。また取引が完了した商品が30%ほどありました。

また、購入者が購入する親カテゴリはそれぞれ1つに決まっており、ソファーカテゴリを購入するユーザはソファーカテゴリのみを購入している状態となっておりました。

スコア、ベンチマーク、キャンペーン

今回のISUCONでは、例年と違い、スコアはリクエスト数から計算されるものではなく、取引が完了した椅子の価格の合計をベースに次の計算式でスコアとしています。単位はISUCON8本選で仮想通貨として取引されたイスコインです。
取引が完了した商品(椅子)の価格の合計(イスコイン) - 減点 = スコア(イスコイン)

減点は、レスポンスのタイムアウトやコンテンツに不足がある場合にエラーの内容に応じて行われます。

スコアを最大化するためには、よりたくさんの取引が完了することが必要ですが、ベンチマーカーは出品した上で各APIの回遊をし、購入処理となるため、各APIの高速化が必須となります。なお、初期の段階では商品は100イスコインでしか出品されません。

キャンペーン機能

アプリケーションの初期化エンドポイントである
/initialize
campaign
というキーの値で 0 よりも大きな数字を返すことで、キャンペーン機能を有効にすることができます。数字は0から4までとなり、数字が大きくなると同時にアクセスするユーザも増えていきます。これはISUCON3でのworkload、ISUCON8本選でのSNSシェア機能に着想を得た機能です。

さらに、人気者出品と私たちが呼んでいるイベントが起きます。人気者出品ではあるユーザが商品を1つ出品をすると、多くのユーザがその商品を目指して購入リクエストを送ってきます。人気者出品は8秒ごとに発生し、取引が正常に完了すれば、ISUCARIサービスが信頼を得て、出品される商品の単価があがっていきます。

高いスコアを出すためには、キャンペーン機能を最大まで上げて同時アクセス数を増やし、さらに人気者出品で発生する1つの商品の負荷の集中を緩和して、出品される商品の単価をあげていく必要がありました。

参照実装

ISUCON9予選で、最適化の中心となった主だったエンドポイントについて紹介します。

新着・カテゴリ新着・ユーザごと新着商品

全ての商品、指定されたルートカテゴリの商品、ユーザごとの出品商品がならぶエンドポインです。
GET /new_items.json
GET /new_items/%d.json
GET /users/%d.json
がこれにあたります。

初期状態ではデータベースのインデックスが不足していたり、カテゴリ、出品者、購入者とわかりやすいN+1がありました。ここを改善していくと、着実にスコアがあがったかと思います。

カテゴリについては更新がありませんでしたので、ソースコードに直接書いたチームが多かったと思われます。その過程でカテゴリのネタに気づいたチームも多かったようです。出品者・購入者についてはJOINで取得するか、必要なユーザ情報をIN句を使い一気に取得してアプリケーションの中でデータを保管するなどの方法でアプローチしたチームが多かったようです。

取引一覧

ユーザが出品した商品あるいは購入した商品が並びます。SQLで
(buyer_id = ? OR seller_id = ?) 
という条件があり、さらに、購入された商品または購入した商品については外部サービスである配送サービスAPIを参照し、配送のステータスを取得する処理がありました。

1つ目のORクエリに関しては、次のようにUNIONクエリをつかった形式に書き換えることでINDEXで十分に絞り込みが可能な状態になります。
SELECT * FROM items WHERE seller_id = ?
UNION
SELECT * FROM items WHERE buyer_id = ?

過去のISUCONでもこの解法があったかと思います。

2つ目の課題のとなる配送サービスAPIですが、APIのレスポンスにかかるレイテンシがベンチマーク走行中のみ遅延を入れて 0.8秒かかるようにしてあります。アクセスログの分析をしたチームは気づいたかと思いますが、取引中の商品が多くなればレスポンスがかなり遅くなります。

この外部APIが遅い問題を解決する方法として、必要な回数のAPI呼び出しを非同期・並列で行うことでかかる時間を短くする方法が考えられます。また、参照実装に同梱のドキュメントをみると実は必要のないAPIアクセスが多くあり、実際にはほとんどのアクセスをせずに済むことがわかります。

ただ、ベンチマーカーでのチェックの仕様により、取引一覧でのAPIアクセスは実は必要がなく、配送ステータステーブルの情報を表示すればエラーにならないようになっておりました。

購入

購入には上で説明したキャンペーン機能により多くのユーザが、1つの商品に対して一挙に押し寄せます。さらに購入時にはトランザクション中に2つの外部サービス、配送サービスAPIと決済サービスAPIに対してリクエストを送るようになっていました。

このため、ロック待ちが多く発生し、エラーやタイムアウトが多く発生し、単価の上昇がなくなったり、ベンチマーク自体が失敗になるなどの状況が生まれます。

対策としては、mutexやflockによる排他制御が考えられます。1つの商品につき1つのトランザクションのみが開始されるようアプリケーションにて制御を行い、ロックが解放された直後のトランザクション開始前に商品が購入できるステータスにあるかどうかをチェックすると、データベースに負荷がかからず素早くレスポンスが可能となるかと思います。そのほかに外部サービスの呼び出しを並列化するなどの対策があったようです。

なお、決済サービスは同じ商品に対して複数回購入するとクリティカルなエラー扱いになり、一度発生しただけでベンチマークが失敗するようになっていました。また決済サービスには失敗するカード番号が存在しており、必ず成功するわけではありませんでした(失敗するカード番号についてはドキュメントに記載されておりません)。

ログイン

上記の対策をしてくると、最後に残るのがログイン時のbcryptの処理です。ISUCON8の本選でもbcryptが使われており、記憶に残っていた参加者も多かったようです。

bcryptの処理には0.1秒ほどかかり、CPUもかなり必要とします。そこでCPU使用率をさげるため、sleepをいれて処理を遅らせるなどの対策でログインをさぼると、人気者出品の発動に必要な人数が集まらず、スコアが上がらなくなってしまいます。

今回の予選では3台までサーバインスタンスが利用可能でしたので、ログインが他のアプリケーションの動作に影響を与えないよう、サーバインスタンスを追加してログイン処理専用とする方法も考えられたでしょう。


講評

今回ISUCON9の予選問題は、2つの外部サービスの導入、複数台構成に加えてアプリケーションの内容も増えて盛りだくさんな内容でした。ベンチマーカーの実装や初期データの生成、サーバのプロビジョニングと運営にとっても課題が多くありました。いくつかの不備がありましたが、多くの参加者の皆様に8時間にわたり取り組むことができるものが提供できたのではないかと思います。

盛りだくさんなアプリケーションではあるのですが、ひとつひとつのボトルネックを解消すればスコアが着実にあがるように設計し、また分析や実装に多くの時間が使えるようベンチマーク試行によってスコアがバラつかないよう安定させることも意識しておりました。

また、スコアをリクエスト数ではなく、売り上げにしたことも今回の特徴です。そして、アプリケーションが速くなり、いつでも快適に使えるだけではなく、ユーザが求めているものを調べ、ビジネスをより成功させるというのもISUCONの中に含められないかと考えました。

その狙いがあり、今回のアプリケーションでは、初期データにおいてユーザが購入するカテゴリを偏らせ、新着商品一覧でそのユーザが購入するカテゴリにあわせて一覧を返すことで数%ですが、スコアがあがるようになってます。マニュアルにもそれを匂わすことが書いてありました。

予選2日とも、学生の1人チームがトップになったことは私たちにとっても驚きでした。ただ、blogやソースコードを読ませていただくと、ひとつひとつ丁寧に改善したことで出た本当に素晴らしい結果だと認識しております。予選を通過した皆様が本選でもよい結果をだすことを信じております。

改めて、参加していただいた皆様、運営に協力していただいた皆様、マニュアル確認しましょう、ありがとうございました。


Read more...

・10/3 18:00 更新終了

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

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

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

運営
ISUCON9予選の出題と外部サービス・ベンチマーカーについて - catatsuy - Medium
mercari.goで「ISUCONのベンチマーカーとGo」というタイトルの発表をしました - catatsuy - Medium
ISUCON9予選でフロントエンド周りの実装を担当した話 - はらへり日記

参加者
本選出場
ISUCON 9 参加記 - kyuridenamidaのブログ
ISUCON9予選を1日目上位3位で通過しました | あれがながてち
ISUCON9 予選に出場して1日目4位で予選突破した #isucon - なぜにぽえむ
ISUCON 9 予選に isucon_friends として参加し、予選総合3位でした。 - from scratch
ISUCON9
[Ruby] ISUCON9予選参加 - Journal InTime(2019-09-07)
ISUCON9予選で総合4位になり本選進出を決めました - Gマイナー志向
ISUCON9予選をギリギリ通過しました - Lを探す日常
ISUCON9予選1日目にチーム「いんふらえんじにあー as Code」で参加して初日3位で本戦出場決定しました #isucon - netmark.jp
チーム「さばかんちゃーはんかれー」でISUCON9に参戦してきました。 - pe10’s diary
学生枠、今までありがとう #ISUCON9 - nakario_jp’s blog
ISUCON9 予選 - 開発^3
ISUCON 9 予選に京都スイーツ(b・ω・)bで参加して本戦出場できました!(15,490イスコイン / PHP / 総合11位?) - SEEDS Creator's Blog
ISUCON9予選参加記 (5位通過) - methaneのブログ
ISUCON9 2日目4位で通過しました #isucon · Konboi Note
ISUCON9予選、2日目5位で通過しました - y_matsuwitter - Medium
ISUCON9で予選通過したのでbcryptについて書く - (/^^)/⌒●~*$ a(){ a|a& };a
ISUCON9 に出て Ruby で予選通過した - 思考録++
ISUCON9の予選をRubyで通過しました - NaCl非公式ブログ
ISUCON9の予選を突破し、失格になったのちに通過しました - akenshoの日記
ISUCON 9: チーム「ソレイユ」の5年目、はじめての予選通過 - osyoyu.hatenablog.com


初のISUCON参加は惨敗だった - Ryu's blog
isucon9は 最終スコア 8,860 で予選敗退でした
ISUCON9 予選の参加ログ (チーム: 再起動非対応) | monolog
ISUCON9予選一日目に参加しました|進歩ダメです|note
ISUCON 9 予選を通過しました! - @kanatakita's blog
初出場のISUCON9で泣きながら椅子を温めました - がべーじこれくしょん
ISUCON9予選ふりかえり - かみぽわーる
ISUCON9 予選敗退した - すぎゃーんメモ
新卒1年目がISUCON9でやれたことやれなかったこと - キュアセブン技術ブログ
初参加のISUCON9 予選で敗北した - ぷらすのブログ
ISUCON9予選敗退した - hitode909の日記
ISUCON9に出場して、予選敗退しました。 - GA technologies Tech Blog
ISUCON9 の予選に参加した話 - なまえは まだ ない
ISUCON9予選に参加してよかった! - VELTRA Engineering - Medium
ISUCON 9 予選惨敗記録 | risou's Lithograph
ISUCON9予選に参加しました! - ishikawa_pro's memorandum
ISUCON9予選敗退(H::W::A::Abyss::Abyss::Abyss) #isucon - 詩と創作・思索のひろば
ISUCON9 予選に参加した(failed) - Unyablog.
ISUCON9 参加記 | カオスの坩堝
ISUCON9 予選に参加してきたよ #isucon – こえむの編集後記
【ISUCON9】初めてISUCONに参加したので、やったことや得たものを書きます - Qiita
ISUCON9予選にk02で参加して惨敗しました #isucon - Alligator Swamp
ISUCON9予選にk02で参加して完全敗北しました #isucon - きょこみのーと
【ISUCON9予選】初参加しました - お首が長いのよ
ISUCON9 予選初参加しました! – Choii2
ISUCON9 オンライン予選で敗退した
ISUCON 9予選の反省 - abcang’s blog
ISUCON9参加記 #isucon - チラシ裏日記上等!!新館
ISUCON9 予選2日目4位で予選通過しました | tkuchiki's blog
ISUCON9参加した | ワナビーエンジニアのブログ / Wannabe engineer's blog
ISUCON9(予選)の振り返り - gaaamiiのブログ
ISUCON9予選一日目に🐶として参加しました - sprawl
ISUCON9予選 参加記 呑んだくれ穏健派 - だいじゅの技術メモ
ISUCON9 予選を復習する時の手順 - あいつの日誌β
ISUCON9予選に参加して惨敗した - stoshiya's blog
Read more...

ISUCON9 オンライン予選の利用言語比率を公開します。オンライン予選は598組の参加があり、運営で把握ができたチームは528組となりました。

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

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

Go   261組 49.4%
Ruby  102組 19.3%
Python 65組 12.3%
PHP   54組 10.2%
Node.js 39組 7.4%
Perl     6組 1.1%
Visual Basic 1組 0.2%


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

Go   22組 73.3%
Ruby  4組 13.3%
PHP   2組 6.7%
Perl    1組 3.3%
Python  1組 3.3%


ご参加いただいた皆さんの感想などはこちらにまとめています。
ISUCON9 オンライン予選 関連エントリまとめ

昨年の言語比率はこちら
Read more...

全てのチームのスコアを掲載いたします。再起動試験でfailになっているものも含むため、順位という表現にはしません。あくまで参考値となることをあらかじめご了承ください。

スコアのあるチームの表示の順番について
最終スコアが同一だった場合、最高スコアが高かったチームを上位に表示しています。最高スコアも同一だった場合は、最高スコアを出した時間が早いチームを上位としています。

52,440  nil
36,270  にがり
27,470  isucon_friends
26,460  いんふらえんじにあー as Code
25,200  ようするにメガネが大好きです
22,580  おisu〜
22,340  第4西東京市
20,740  はしもとせいこ
16,150  流れ弾
15,660  .dat
15,490  京都スイーツ(b・ω・)b
15,260  ARINE
15,100  白金動物園
14,680  山形組
14,420  NaruseJun
13,160  🍣🍺ズ
12,960  RE: ゼロから始めるISUCON
12,360  theorem
12,260  コアラの街
12,060  ふんばり温泉チーム
11,960  marumaru
11,890  hidden soup
11,860  Ssstoh
11,790  luminous
11,760  CatBoy
11,590  🐶
11,160  yarunee
11,150  焼肉ジャンボチキン
10,470  FetchDecodeExecWrite
10,450  tmp
10,340  orenoie
10,250  百万円ドリブン
10,160  あたまのわるいひと
10,090  ソレイユ
10,070  H::W::A::Abyss::Abyss::Abyss
10,040  株式会社イーグルジャンプ秋葉原ラボ
9,880  しゃかラン
9,670  計算機科学実験及演習3.5
9,650  失敗から学ぶISUCONの正しい歩き方
9,640  むし,うさぎ,いぬ
9,610  REQLY
9,590  メンチコロッケカレー
9,560  おはGoざ〜(・ワ・)
9,260  sentakki
9,160  はいしんズ
9,160  FCCPC_yurarin
9,070  ex_g
8,860  さばかんちゃーはんかれー
8,830  houti
8,730  カジノで合計30万円溶かした人の顔
8,430  元同僚
8,410  草
8,410  くんさん王国
8,410  チーム人間性
8,350  アジャイルの被害者
8,210  こおろぎ
8,050  フラー株式会社
7,990  阮朝
7,710  \aleph_1
7,650  わんこポテト
7,650  negainoido
7,650  タヒチ
7,630  :fire: MOTIVATION_LEVEL_VERY_LARGE :fire:
7,570  ケーキ屋さん見習い
7,570  KKD
7,570  夕方5時から飲む会
7,540  平林の妻は上々
7,510  くも㌠
7,490  do3be
7,490  5000兆IOPS欲しい!
7,450  ぞい
7,410  森川亭
7,310  チームパー
7,250  Yaletown
7,240  Make yu3 Great Again
7,110  panepane3
7,040  urchin
7,010  火鍋さんチーム
6,960  Team MN
6,730  isuconなにもわからない
6,730  reiga
6,710  ぴえん
6,660  SHIMOKITA
6,660  チーム3年目
6,610  tas
6,530  バリバリ(財布が)
6,410  yoshikids
6,410  チームくると思ったんですけど。
6,410  ダブルエース
6,410  💀漆黒 社員's(ぶらっくしゃいんず)💀
6,360  Hound SHIBA
6,300  呑んだくれ穏健派
6,300  インフラ屋齋藤さん、ISUCONに行く
6,300  格安sim
6,290  かちかち山
6,250  おおぞらをとぶ
6,240  ゆるふわ穏健派
6,220  iwamot solo
6,150  biz
5,950  POB
5,850  雛鶴あいちゃんを囲う会
5,840  三体
5,780  Team Zono '19
5,710  †漆黒のすぐちむ†
5,650  Tapioca Perl
5,630  HRD
5,610  PHP実装があるときいてきました
5,540  ガチムチレンジャー
5,520  卵かけディスコ
5,510  カツカツ.tar.gz.zip
5,410  Eight Cランチの会
5,410  マクド
5,410  Zoukin
5,410  ちーむえすえぬ
5,410  (΄◉◞౪◟◉`)
5,410  もずくす
5,410  🐍Ophiuchus🐍
5,410  DENDEN
5,410  Array-san
5,410  昭和世代
5,410  Hound AKITA🐕
5,410  ぼっち飯
5,410  cryptid
5,410  🏳いとう帝国
5,410  パンダさんチーム
5,310  traP
5,300  salmon
5,240  Turtle
5,240  シン・フジワラ組
5,230  アルビノの悪魔
5,210  なぜか動いた
5,210  退職エントリ
5,210  Team and factory
5,150  カレーおじさん
5,140  xxxxxx
5,140  gpp
5,130  イキリ社会人と愉快な仲間たち
5,130  for(int k=0;k 5,120  ミッシングマグネティックストレージ
5,110  SunPro
5,110  fugusuki
5,110  大和田純愛組
5,110  ワイハリマ
5,040  温野菜
5,040  社会性
5,010  親指技研
5,010  会社の犬(放し飼い)
5,010  ロスチャイルド家の麻辣牛肉麺
5,010  KIDS
5,010  今夜もyyyymmdd
5,010  Ruby不動産*
5,010  オシャレ怪盗スワロウテイル
5,010  Block Device
5,010  Re:Fから始めるWeb生活
5,010  忠で焼酎を飲んでいた人たち
5,010  チームD
5,010  tamagoya
5,010  だるまちゃん
5,010  Beef Chicken Pork ( ゚ρ゚)
4,940  フレアウォリアー
4,910  KUMA
4,900  2年目
4,900  メンテナンスパック
4,900  TES
4,900  Citrus natsudaidai
4,900  isucon-hq
4,900  くすサポISUCON部
4,900  EACCES
4,900  図らずとも就活目的
4,900  Zと網
4,900  だじゃれハッピー
4,900  nasucon
4,340  ロシア領
4,320  ノンアル
4,310  ねむねむゎんこ
4,310  察するイオン結合
4,300  匙は投げられた
4,240  team rdk
4,240  indo8
4,240  kde
4,210  うどんきれいなGo
4,210  そり
4,210  Gyoza
4,210  k3s
4,120  能天気の子
4,120  zaru
4,110  サーバークラッシャー デコ
4,110  ぎょくろハイ
4,060  IRE
4,040  ittsumu
4,010  tts
4,010  Fの者
4,010  みすてりあす堅実派
4,010  ももちゃんず
4,010  かすもん
4,010  zin-gonic
4,010  Yokohama North
4,010  泥酔チャンス
4,010  チームオガヨシ
4,010  DJ shimizu
4,010  三等分の花婿
4,010  SIROKUMAsan
4,010  めるぴっぴ
3,940  ツナ缶
3,910  io
3,910  🈂🆚🦀
3,910  shallowverse
3,910  えす爺+
3,910  ウデムシlab
3,900  Sun*LSU
3,900  運用週
3,900  わんまんあーみー
3,900  裏ドラ
3,900  hoge
3,900  きりんさんチーム
3,900  EBILAB
3,900  ペンギンドラゴンズ
3,900  Krosa
3,900  mudkip
3,810  フライディ・チャイナタウン
3,810  わんにゃんにゃん
3,810  N
3,710  bridge river island
3,710  @sushi
3,710  avogad-chan
3,710  CenterPlace
3,710  炉端焼きラプソディ
3,610  GCF
3,600  猛獣使い
3,600  BANANINE
3,600  ファンタシースターストライク
3,600  俺たちは雰囲気でプログラミングをしている
3,600  Spookies
3,520  YOU
3,420  【PR】らくだのこぶ
3,420  Y-team
3,410  サザン不定形ストーリーズ
3,410  フェイリスにゃんにゃん
3,410  一元
3,410  ( (0) / (0)) ☆祝☆
3,410  b
3,410  瞬殺の美学
3,320  QPM
3,310  WCDI老人会
3,310  イエローペッパー306
3,310  シュモクザメさん
3,310  gosoudan
3,310  システムオペレーターズ
3,240  KINC
3,220  斎藤啓子
3,220  酒と自分に酔っていく
3,210  秋の運動会組
3,210  drink and root
3,210  qうぇrちゅいおぱsdfghjklzxcvbんm
3,210  rainbow-run
3,110  若手ズ
3,110  kb
3,110  リリースは22時以降
3,110  Team SHYBOYS
3,110  円卓の騎士
3,110  ENA
3,110  棒テン即リー全ツッパ
3,020  ultraviolet-light
3,010  まかげんき
3,010  俺の人生は何なんだ
3,010  BEGIN
3,010  あなたとJAVA,今すぐダウンロー
3,010  ISUCON何点取れる?
2,940  チームTUS
2,930  mixiR
2,920  エクストリーム古民家
2,920  YAKARA
2,910  getting_over_24
2,910  moku2
2,910  MAKEPA
2,910  牡蠣入れどきなう
2,910  借りて来た猫
2,910  SystemEngineers
2,910  闇営業
2,910  スットボケ三人組
2,910  sohmens
2,910  失職ドラフト
2,830  boulder
2,820  チームりんご
2,810  基本的なコーディングスキルがない
2,810  ぐむー
2,810  sonots
2,810  Meister
2,810  チーム終活ねっと
2,710  アルテュール
2,710  いきり散らし太朗
2,710  L&R
2,710  otamajakusi
2,710  ISUWAT
2,710  水芭蕉
2,710  人工酒脳 -Artificial Alcoholligence-
2,710  水炊き鍋さんチーム
2,710  白川郷テーマパーク
2,710  NLNS
2,710  Outrage
2,710  raw_input()
2,710  katsuo
2,710  3年目のう○き
2,620  primeNumber
2,610  FWT6
2,610  チーム名
2,610  スメチキ
2,610  RRR
2,610  masscanner
2,610  70.7
2,610  うさどらべあ
2,610  松之助テンプレートライス普通〜おかわり〜
2,610  kazuhei
2,610  のぶた
2,610  ファンクス太郎
2,600  くもキャスト
2,530  天空の玉子
2,520  Black Expensive Car
2,510  よしだとすずき
2,510  yellow-2
2,510  2段階revertブラザーズ
2,510  エンジョイ侍
2,510  たんぽぽ
2,510  一の一
2,510  glhf
2,510  ローマ
2,420  THE OA in 筋肉牧場
2,420  葵
2,420  テンキーの5
2,420  ヒェッ
2,420  chicchi
2,410  チーム名どうしましょう
2,410  pͪoͣnͬpͣoͥnͭpͣaͥi͡n
2,410  うまいご飯が食べたい
2,410  Dancing in the turkey
2,410  16francs
2,410  terekaと愉快な仲間たち
2,410  NU
2,410  馬と犬と骨折太郎
2,320  404からエンドユーザーを守る党
2,310  ねぇ、今から(スコア)上がるよ
2,310  lazo
2,310  いやいやJSTとか書いてなかったし
2,310  佐野ラーメン
2,310  Koppa
2,310  チームV
2,310  ブロッコリーズ
2,310  Rubyで出たいグロービス技術部部長と愉快な仲間たち
2,310  dropout_S
2,310  エドガー・エイドリアン
2,310  頭痛
2,310  white-rebellion
2,310  Kwansei not Kansai
2,310  lambdasawa
2,310  ほろよい
2,310  mnのあわあわするほう
2,310  木木木木木石木木木木木木
2,310  laughing
2,310  Procrastination
2,310  Troy
2,220  よんなー
2,220  maoyou
2,220  P=NP
2,210  牡蠣で食中毒
2,210  hazama
2,210  mayahiro
2,210  生粋
2,120  wanokuni
2,110  TokyoForest
2,110  kyuond
2,110  abinitio
2,110  PBC
2,110  味付きたまご
2,110  最速の男たち
2,110  えいえんの夏休みボーイズ
2,110  PI12A
2,110  Team issue
2,110  関西から東京へ出てきた僕たち。
2,110  ぺちぱ
2,010  KAT-MURAN
2,010  Mii
2,010  うーろんちゃ
2,010  Keyboard Breaker
2,010  OpenStream with Go
2,010  AFK
2,010  Not Acceptable
2,010  さっぱりわからん
2,010  ISCON完全に理解した
2,010  3人いれば工数3倍
2,010  Team Panair 3
2,010  King of Sun*
2,010  ex g7
2,010  MetropolitanNara
2,010  進撃のかわつ
2,010  映画監督の夢
1,910  マエダシュッセキ
1,910  そのひぐらしのマイケル
1,910  🤔
1,810  つんでれムササビ研究所
1,610  Team KSK(仮)
1,600  アンダーザブリッヂ
1,410  Z/2Z
1,410  メルカリ大好き
1,410  スタイル・エッジ、ここにあり!
1,410  STREAMERS
1,410  一生Xに上がれない
1,410  守銭奴 SuperMAX
1,410  竜の未来を担え君の手で
1,410  (´・_・`)
1,410  zoi
1,410  きゃーい
1,410  cafebabe
1,410  lbj
1,410  papico
1,410  Tentacles
1,410  kaminoke2
1,410  力タソ
1,310  HAMANASU
1,310  rm -rf --no-preserve-root /
1,310  G
1,310  Hitsuji
1,210  redstone
1,210  尿酸値が若干高いです
1,210  uuid v4
1,110  fresh2012
1,110  galbo
1,010  ガラスボッチ
910  ブレインバクハーズ
910  ドッスン
910  テコバナ🍌
510  Team 縦ちゃん


■以下はベンチマークを1度も実行していない、または最終スコアが0点のチームです

都営三田線東急目黒線直通急行日吉行
skiphills
ラディカル・グッドスピード/脚部限定
おひとりさま
とりあえずモヒート
🍤⚙️
ぞうさんチーム
タピオカ、動きます
宇田川町
草スキー
meguryohika
同窓会会場はこちらですか?
:innocent:
${任意の文字}pay
パネッコ
おにぎり
railsへの執着はもはや煩悩の域であり、開発者一同は瞑想したほうがいいと思います。
チームレッド
5000兆円欲しい!!!
IQ1
hetenko
imokenpi
大阪ミナミ
塩胡椒ギルド
isucon初心者ズ
ぬるかん
再起動非対応
でぐ~マイナス
令和に蘇るゼロ年代の亡霊
チーム北参道
Shimaidon
ニル侍
ありか㌠
へしこず
jser
チームおにやんま
DDD
うどんやのそば
チームBBQ
sisisinと愉快な仲間たち
olpheolanphe
GLE(仮)
YANATAKE
バターは主食
Damnation
津佐森
TeamTsukuru
牡蠣戦士
teamtsuka
k02
🏆💰🔜🍣🍖💸😇
ブリンブリン
ニューウェーブ
ultra_fast_gopher
むすび丸
oops


WhiskyandMilk
ゴマフねこ
帰属意識/Zero-Don'tstaycompany-
wonda
たけのこの山
チームグー
DRMTLS2010
torikawa
zzzzoooo
No.Module.Named
いい感じのチーム名
nomonomo
mi_chan
i9
Throughput-zero
クソアニメ同好会

ふらんすぱん🇫🇷
motsu鍋
Tsurugi
moralhazard
さわやか会社員
天翔けるGoの閃き
taichu
柚希ジム
フォビドゥンカオティック商会
Centくん
うおおおおおおおおおおおおおおお
除却済みインターネット
1日寝かしたら治るバグ何なの?ツンデレなの?
Takoduki
imasahiro
Katakatataan
opu
__SEL__
kabinary
りびるどん
DevGone
がんばるぞおおおおおおお
サウナいきたい
Look
postmen
Trywith
Crystal
kyon
ギリギリ
湯川涼
Eldora
k-yoshida
ガチンコどうぶつえん
TeamRADIO
森の中
にゃーん
イエラエJapan高専
gobou
y-ohgi
チーム941
お麩
capr1.net
仮想猿さんに愛を込めてウキキ!(ガハハ!)
SACKSUCKPANDA
Typhoon🌀
northdipper
basyo
Hamee831
Flightpath
q-tech
お別れ会を総合プロデュース
kstm_closet
TeamCI
kangaroooo
チーム高円寺
Failせずに終わりたい
おすぎ
EagleJump
daizu
team0
DragosteaDinTei
PeppaPig社会人
RMC
sumoru
チーム松研
みき
arpa
ice
OpenStreamwithPHP
ゾンビプロセス
jjjjj
TeamNoobs
bintoro
でんでんs
CodeforKIT
Teamkaraage
taroimo
Kizawa
だ.ml
soy_sauce
g0tiu5a
ぼっちちゃん
うどん大好き
acq1
いんたーねっとのしごと
0sam0E
WeekendEngineer
和三盆
koshilife
Read more...

9/12 22:00 自己申請による失格について再度検討を行った結果を追記しました
9/11 22:19 失格の取り消しについて追記しました
9/11 15:00 繰り上がりとなるチーム情報を更新しました
9/11 11:15 失格となったチームがあったため繰り上がりを反映しました
9/8 21:00 上位20チームを正しい表示に訂正しました
9/8 19:23 一部、表記に間違いがありましたので訂正しました
9/8 19:18 追記 失格となったチームがあったため繰り上がりを反映しました

---
ISUCON9 本選出場者を発表いたします。
今回のオンライン予選は1,561名の皆さんにご参加いただき過去最高の規模となりました。

本選への出場枠についておさらいです。LINE株式会社 JR新宿ミライナタワーオフィスにて開催される本選出場へ参加する30チームの選出条件は以下となっています。

1. 予選各日の終了時スコアにおける上位5チーム
2. 予選両日を通し、1の該当チームを除いた中での上位20チーム
※最終スコアが同一だった場合、最高スコアが高かったチームを選出する。最高スコアも同一だった場合は、最高スコアを出した時間が早いチームを選出する。

それでは2日目の結果とあわせて、ISUCON9 本選出場30チームを発表いたします。

チーム名 チーム人数 [学生人数] スコア

1日目 上位5チーム
・isucon_friends 3 [0] 27,470
・いんふらえんじにあー as Code 3 [0] 26,460
・おisu〜 3 [3] 22,580
・第4西東京市 3 [2] 22,340
・京都スイーツ(b・ω・)b 3 [0] 15,490


2日目 上位5チーム
・nil 1 [1] 52,440
・ようするにメガネが大好きです 3 [0] 25,200
・はしもとせいこ 2 [0] 20,740
・流れ弾 3 [0] 16,150
・.dat 3 [0] 15,660


両日の上位5チームを除いた上位20チーム
・ARINE 3 [0] 15,260
・白金動物園 3 [0] 15,100
・山形組 2 [0] 14,680
・🍣🍺ズ 3 [0] 13,160
・RE: ゼロから始めるISUCON 1 [0] 12,960
・theorem 3 [0] 12,360
・ふんばり温泉チーム 3 [0] 12,060
・marumaru 3 [0] 11,960
・hidden soup 3 [0] 11,890
・Ssstoh 3 [0] 11,860
・luminous 3 [0] 11,790
・CatBoy 1 [0] 11,760
・yarunee 3 [0] 11,160
・FetchDecodeExecWrite 3 [3] 10,470
・tmp 3 [1] 10,450
・百万円ドリブン 3 [3] 10,250
・あたまのわるいひと 1 [0] 10,160
・ソレイユ 3 [2] 10,090
・株式会社イーグルジャンプ秋葉原ラボ 3[1] 10,040
・しゃかラン 3 [0] 9,880
・計算機科学実験及演習3.5 3 [3] 9,670
・失敗から学ぶISUCONの正しい歩き方 3[0] 9,650
※一時、失格となったチームの訂正、繰り上がりとなったチームなどがあり22チームとなっています


1日目で1位通過した「にがり」は本選を辞退されましたので1日目のスコア順で「京都スイーツ(b・ω・)b」が繰り上がりました。参考までに「にがり」のスコアは36,270でした。

以下のチームは最終スコアが各日ずつ上位5チームを除いた上位20チームに含まれていましたが、追試をパス出来なかった・またはレギュレーション違反があったため失格となりました。下記は参加者による最終スコアです。
・NaruseJun 3 [0] 14,420
・コアラの街 3 [0] 12,260
・🐶 1 [0] 11,590
・焼肉ジャンボチキン 3 [0] 11,150
・orenoie 2 [0] 10,340


以下のチームは競技後にレギュレーション違反の自己申請があり失格とさせていただきました。レギュレーション違反対応の再検討の際、自己申請による失格についても再度検討を行い、運営の方針変更による失格とさせていただきました。
・H::W::A::Abyss::Abyss::Abyss 3 [0] 10,070

※9/12 22:00 自己申請による失格について再度検討を行った結果を追記しました

なお、本選出場が確定したチームが出場を辞退した場合にはスコアが高い順で繰り上がりとなる場合があります。本選出場を辞退される場合は9月11日(水)までにご連絡ください。


以上です。
本選は10月5日(土) LINE株式会社のJR新宿ミライナタワーオフィスにて行います。本選参加は当日お越しいただける方のみとし、オンラインでの参加は不可とします。(インフルエンザなど感染力が高い病気に罹患している場合は特例を認める場合があります)また、予選と本選でチームメンバーの交代は出来ませんのでご注意ください。

本選出場チームの代表の方へはあらためてご連絡いたしますので、お待ちください。オンライン予選にご参加いただいた皆さん、まことにありがとうございました。全チームのスコアと順位は後日公開いたします。
Read more...

↑このページのトップヘ