ISUCON公式Blog

WINNER'S PRIZE \1,000,000



商標「ISUCON」利用の
ガイドラインはこちら
スポンサー各社からの応援特設ページ

7/28 13:00 追記 先着100枠に達しましたので締め切りました
-----
ISUCON10は2011年の開催から10回目となる記念大会で、これまでにご参加いただいた皆さん、運営に関わっていただいた皆さん、そして今年から新たに募集を開始したスポンサー各社の皆さんと共にさらに盛り上げていければと考えています。

「個人としてスポンサーをしたい」という声を多数いただきましたので、100枠先着で個人スポンサー枠をご用意しました。是非宜しくお願いします!先着100枠となっております!

特典内容:
個人スポンサーページへの掲載(8月上旬に公開予定)
特典グッズその1(アウトドアでもご自宅でも、利用シーンを選ばないマグカップ)
特典グッズその2(ベランダやリビングで使える、ISUCONっぽさ溢れる例のアレ)
特典グッズその3(本選出場者に配布する、ISUCON10 オリジナルステッカー)


01
※画像は出来上がりイメージです、実際の特典グッズと異なる場合があります

02


お申し込みはこちらからお願いいたします。
ISUCON10 個人スポンサー(特典付き) | Peatix
Read more...

ISUCON10 イベント協力パートナーである New Relicさまより、ISUCON10参加者の皆さん向けに特別無料ライセンスをご提供いただける事となりました。

元々New Relicは2週間の無償トライアルがありますが、ISUCON参加者向けの特別プランとなっています。登録手順や利用条件などについてはこちらをご参照ください。




また、実際にISUCON9の本選参考実装にNew Relicを適用して改善ポイントを見つける流れを説明するWebinarを開催いただけるそうですので興味がある方は是非ご参加ください。
・New Relicを使いたいが、使い方がわからない
・New Relicを使いたいので、使い方を復習しておきたい
・New Relicはどういうふうに役立つのかを知りたい
といった方が対象とのことです。

詳細はNew Relic 公式ブログ公式Twitterをフォローしてご確認を!
Read more...

isucon_sponsor_message2
ISUCON10 開催を力強く支えていただく協賛スポンサー各社から、参加者の皆さんに向けた応援メッセージをお寄せいただきました。

掲載順

ISUCON10 実行委員会

LINE株式会社, クックパッド株式会社, 宇宙海賊合同会社, 株式会社リクルート, 株式会社サイバーエージェント, KLab株式会社, 株式会社エイチーム, Hamee株式会社, 株式会社ディー・エヌ・エー, ConoHa by GMO, AtCoder株式会社, フォルシア株式会社, 株式会社いい生活, 株式会社LegalForce, 株式会社アンチパターン, 株式会社メルカリ, New Relic 株式会社, TECHPLAY, Increments株式会社, @IT


運営

LINE株式会社

line
LINEではコミュニケーションアプリをはじめ、LINE NEWS、LINE LIVE、LINEマンガ、といった様々なサービスを展開しています。
LINEが提供するサービスは非常にトラフィックも大きく、大量のデータを保持しています。私たちはこれらの大規模サービスを効率的、安定的に運用して、より良い体験をお客さまに提供するために様々な技術を活用しています。ISUCONなどのパフォーマンスチューニングコンテストは競技としての面白さだけではなく、そこを通じて得られた知見は大規模環境においても非常に有益だと感じております。皆さん、最後までISUCONを楽しんでくださいね!

LINE株式会社 上級執行役員 LINEファミリーサービス開発統括 池邉 智洋


出題

クックパッド株式会社

cookpad
パフォーマンスチューニングをしたらスコアが出て順位がつく、これだけのことが多くの人を熱狂させ、数々のドラマやスターを生み出してきました。私自身も第2回から今に至るまで競技者として、また時には出題者として参加し、私のエンジニアとしての成長はこの ISUCON の思い出とともにあったといっても過言ではありません。

クックパッド株式会社では、私たちのミッションである「毎日の料理を楽しみにする」を世界で実現するために、大規模なアクセスを受け止めるためのノウハウは必須です。そのため毎年多くのエンジニアが ISUCON に参加したり、社内 ISUCON をたびたび開催したりして腕を磨いています。このように私個人としても会社全体としても、技術力の研鑽において ISUCON から多くの影響を受けてきました。

今回はご縁あって、ふたたび出題者としての機会をいただきました。これまでの恩返しの意味も込めて、みなさんの全力を受け止めきれるような熱い問題を用意しますので、楽しみにしていてください。

クックパッド株式会社 執行役 CTO 成田一生


出題

宇宙海賊合同会社

172A2627

宇宙海賊合同会社では、様々なお客様の開発をお手伝いさせていただいておりますが、そんな中パフォーマンスの問題に直面することも往々にしてあります。
今、僕自身がそれらと向き合うための技術を手にする、最初のきっかけが ISUCON でした。その10年目という節目にまた出題者として関われるのは感無量の思いです。

僕は ISUCON で、自らが何をできなくて、何ができるようになりたいのかを意識するようになることで、新しい技術分野を学び始めることができました。友人ができたり、尊敬する人が増えたり、信頼するチームメイトとも出会いました。ISUCON は大会であり勝負の場でもありますが、同時にエンジニアのお祭りでもあると思っています。

僕が ISUCON にもらってきた様々なものが、皆さんにもお届けできるような大会にできればいいなと思いつつ、問題作成を頑張っていこうと思っておりますので、腕を磨きつつ、よい椅子を用意してお待ちください。

宇宙海賊合同会社 代表 草野 翔


出題

株式会社リクルート

Recruit

リクルートでは社内でも半年ごとにISUCON(通称R-ISUCON)を開催しており、今年で4年目、合計6回開催されています。リクルートの社内にもパフォーマンスの問題は発生しており、そのたびに「あ、これISUCONでやったやつだ!」という言葉や「リアルISUCON」といった形で表現され、社内でもパフォーマンス問題を解くことに注力しています。

パフォーマンス改善は見た目にも高速化されるだけではなく、裏側のCPUやメモリの利用効率やDBのIndexがどうなっているか、ロギングの方法やプロファイリングのやり方など、学びになることが多く、非常に有意義な教材になっています。

ISUCONにせよ、現実のパフォーマンス問題にせよ、そこにあるのは、「仮説を立て、原因を追求し、対策を講じて実践する」というエンジニアにとっていちばん大事な"探究"の姿勢です。今回縁があって運営として参加させていただくことになりましたが、日頃から研鑽している参加者の方々がその成果を見せられる、そんなISUCONにできたらいいなと思っております。

よろしくおねがいいたします。

株式会社リクルート エンジニアリング室プロダクティビティエンジニアリング部アプリケーションソリューショングループ
グループマネージャー兼シニアソフトウェアエンジニア 古川陽介


インフラ提供

株式会社サイバーエージェント


cyberagent

ISUCONの競技時間は、立ちはだかる壁に対して非常に少ないです。その少ない時間の中でボトルネックの特定、検証、修正などのサイクルを行うために、参加したチームメイトやあるいは1人で焦りや不安、緊張感すらを乗り越えて取り組むあの感覚はISUCONならではだと思います。
競技が終わった後にある感想タイムが私は大好きです。様々なバックグラウンドを持つ人達が、同じ壁を乗り越え会話をする瞬間は全力で向き合ったからこそ得られ、そこで生まれた繋がりは私個人にとってもかけがえのないものです。

サイバーエージェントでは、様々なメンバーが生み出す多様なサービスのワークロードに耐えうるプライベートクラウドを有しており、インフラの基盤として日々チューニングやアーキテクチャの見直しなどを実施しシステムの安定化やパフォーマンスの改善を継続的に行っています。
今回はインフラ提供として今まで歴代のインフラ提供されてきた人たちに負けないようなクオリティを提供していきたいと思いますので、是非ともサーバーが壊れるぐらいの負荷をもって最高のパフォーマンスを出してください!

株式会社サイバーエージェント インフラ採用最高責任者 中西建登


プラチナスポンサー

KLab株式会社


KLab_primary_logo


KLab株式会社のmecha_g3です。

KLabは毎年ISUCONに何チームか参加させて頂いています。
ISUCON6で優勝し、ISUCON7では作問を担当しました。
ISUCONは毎年規模が大きくなっていることもあり、運営の準備が尋常じゃないぐらい大変です。
ISUポンサーとして、少しでも運営関係者の助けとなれば幸いです。

会社のプロダクトだとあまりにも特殊すぎるチューニングでも、ISUCONでは自由に実装ができ、スコアが出ます。
たとえ常識はずれな方法でも、レギュレーションに沿ってベンチマークが通り、高スコアが出ればそれが正義です。
ぜひ練習を重ねて自分の考える最強のチューニングを実現し、ドヤってください。

一方で、ISUCONはWebアプリケーションの開発における一種の教材としても有用だと思っています。
同じアプリケーションが複数言語で実装されているので言語ごとの得意不得意を知ることができますし、
さらにはアプリケーションだけでなくデータベースや負荷分散など全部経験できるからです。
なのでWebアプリケーション開発に関わる人なら誰でも、勉強になる部分があると思います。
みなさん、楽しみながらベストを尽くしてハイスコアを目指してください!

最後に宣伝になりますが、KLabでは今夏プログラミングコンテスト「天下一 Game Battle Contest 2020」を開催予定です。
興味のある方はこちらにも参加してもらえると嬉しいです!

KLab株式会社


ゴールドスポンサー

株式会社エイチーム


ATEAM3093


仕事でWebサービス開発のパフォーマンス改善に取り組む事はあれど、これほどまでに熱狂的に1つのプロダクトにチームで取り組む機会は中々無いのではないでしょうか。

普段の業務で重視されるKPI/KGIを離れ、その技術力や対応力を“スコア”という唯一絶対の指標をもって、同じ問題に取り組む全国のエンジニアとランク付けされる明快さ、それを支える絶妙な課題設定がISUCONの魅力の源泉であると感じています。そして、エンジニアたちを熱狂させるISUCONを、ISUポンサーとして応援できることを大変嬉しく思っております。

エイチームでは数多くWebサービスを運営しており、クライアント企業やユーザーへ価値を提供すべく多くは十分なパフォーマンスを発揮していますが、「十分に早い」とは言えないサービスもあり、課題でした。そこで “パフォーマンスをもっと意識しよう” と、第7回からキャンペーン的にISUCONに参加したことをきっかけに、今では毎年参加し社内模擬戦も複数回行われるなど、技術研鑽の場として大変活用されています。

サービスを通して世の中に価値を提供していく。パフォーマンスの改善は、より良いサービスをつくるための大事な指標です。“パフォーマンス”に徹底的に向き合う1日を提供していただけるISUCONを通じ、限られたリソースの限界を突破し、勝利を掴む力は必ず日常の開発でも役に立つと思います。

株式会社エイチーム


ゴールドスポンサー

Hamee株式会社


hamee


ゴールドスポンサーHamee?聞いたことないな?という反応が大半かと思いますが、神奈川の最西端・小田原にあり、ECサイトの運用を自動化するネクストエンジンというサービスを提供しています。
小田原と聞いて皆さんは何を思い浮かべますか?小田原にはかまぼこと温泉があります。富士山が近くキャンプがしやすい、地酒の梅酒がうまい、家賃が安い、魚がおいしい、です。
しかも東京からは新幹線で30分、最高なロケーション!

そんなまったり感ただよう環境にありますが、当社からも毎年数組ISUCONにチャレンジしており、ISUCONに対する情熱は高いものがあります。
まだまだ本戦経験はない当社ですが、参加しチャレンジすることで間違いなくエンジニアは成長していると感じています。

そういうこれまでの恩返しだけでなく、日本中・世界中のエンジニアがより成長する機会に少しでも貢献できればと思い、今回スポンサーさせていただくことにしました。
是非、今年もISUCONを思いっきり堪能しましょう!

そして、ISUCON終わったらまったりしたくなりますよね?
そんな時は小田原まで温泉つかりに来てださい。

Hamee株式会社


ゴールドスポンサー

株式会社ディー・エヌ・エー


DeNA


記念すべき 10 回目の ISUCON 開催おめでとうございます!

DeNA は全世界向けの超大規模サービスを筆頭に日々膨大なリクエストを捌いており、その量は 50 億リクエスト/日、数十万リクエスト/秒にのぼります。
これらのリクエストを安定かつ高速に捌き続けるため、アプリケーション、ミドルウェア、インフラレベルでのチューニングを極めて重視してきました。
その技術力を競う ISUCON の取り組みを DeNA は深く尊敬しております。実際にDeNAはISUCON8では[予選問題]を作成するという形で関わらせて頂き、社内的にも[社内ISUCON]の開催をするなどの取り組みをしてきました。

決められたレギュレーションの中で Webサービスの高速化を競うITエンジニアの総合格闘技であるISUCON。毎回アツイチューニングバトルが繰り広げられておりますが、その工夫や着想は必ずや財産になるはずです。ISUCON10に参加のみなさま、出題者のみなさま、どうぞ全力で楽しんでください!素晴らしい大会になることを祈っています!!

株式会社ディー・エヌ・エー


ゴールドスポンサー

ConoHa by GMO


ConoHa


こんにちは!ConoHa応援団長の美雲このはです♪
ConoHaはISUCON8でインフラ提供をさせていただいた時からのご縁で、
今回、めでたくISUポンサーとしてISUCON10の応援もさせていただくことになりましたっ!

皆ConoHaのことは知ってる?

ConoHa VPSは超高速・高性能でありながら、リーズナブルに、エンジニアリングを強くする開発者向けオールSSD VPSを提供してるよ!豊富なテンプレートイメージでたったの25秒で「今すぐ使える」サーバーが作れて、テスト環境や勉強用としてもエンジニアさんに沢山使って貰ってます!

ConoHaのテンプレートイメージではISUCONで使われた過去の問題も提供しているから、ISUCON10参加者の人は腕試しに問題を解いてみてね!

このはも応援団長として駆けつけたISUCON8では、ハイレベルな戦いが繰り広げられていてどのチームも超真剣!パフォーマンスチューニングバトルに全身全霊をかける姿はとっても格好良かったな!10周年を迎えてさらにレベルアップしたISUCON10も、とっても熱い戦いになるんだろうな~って思ってます!

このはも応援団長として参加者の皆様が全力を出し切れるように、応援してます♪みんな!ファイト~!!
ConoHa by GMO


ゴールド

AtCoder株式会社


adcoder


弊社は競技プログラミングのコンテストを開催するために作られました。現在所属している社員のほとんどは学生時代にプログラミングコンテストに参加しており、その参加経験から弊社に所属することとなりました。私自身、ISUCONには3回参加しており、そのたびに新たな学び、出会いを得ました。競技プログラミングとISUCONの両方が、私の人生にポジティブな影響を与えています。

ISUCONは参加するだけでも楽しめるポイントがたくさんあります。しかし、より多くのものを持ち帰るためには「いい準備」が必須です。その準備と、本番で準備してきたことを出し切ることの2点が、おそらく参加者の成長に寄与するのだと思います。

本番まで時間はたくさん残されていますので、最高の準備ができるよう頑張ってください。
 
AtCoder株式会社 取締役 副社長 青木謙尚


シルバースポンサー

フォルシア株式会社

forcia

こんにちは。フォルシア株式会社事業開発部エンジニアリーダーの龍島です。この度、記念すべき10回目のISUCONをISUポンサーとして協賛させていただけることになり、大変うれしく思っています。

フォルシアは大規模で複雑なデータを高速に検索するサービスを開発、運用している会社です。フォルシアのエンジニアはエンドユーザの必要とするものをより速く届けるため、サーバサイドのチューニングやPostgreSQLのSQLチューニング(独自拡張関数の作成など)を中心に、クライアントサイドJSでのレンダリング高速化や、必要であればネットワークの設定など幅広い範囲で「いい感じにスピードアップ」をしています。

ISUCONにはフォルシアのエンジニアも毎年参加しており、その経験は業務にも大いに役立っていると感じています。ボトルネックを見つけて解消するというサイクルを経験できることは、実際に問題が起きた際への対応力がつくことはもちろんのこと、ハイパフォーマンスなアプリケーションを作成することにも間違いなく生きてきます。

みなさんが全力を出し切り、素晴らしいISUCON10になることを願っております。頑張りましょう!

フォルシア株式会社 事業開発部 エンジニアリーダー 龍島広人


シルバースポンサー

株式会社いい生活


いい生活


ISUCONの季節が近付いてきました。今回僅かながらもISUCONの開催に協賛させていただく機会を得られ、とても嬉しく思います。
いい生活は不動産業界に特化したSaaS型のプロダクトを開発・運用している会社です。
普段の業務でもパフォーマンスチューニングには四苦八苦しているものの、たった8時間で劇的な改善を図るISUCONの緊張感と雰囲気はやはり格別です。
そういった雰囲気に惹かれてか、2年ほど前からいい生活では、社内でメンバーを募りISUCONに数チームが参加するようになってきました。
チームメイトに対し、事前準備やコンテストを通して「あ、こんなことが得意な人なんだ」と知ることができるのもISUCONの効用だなと思っています。
例年ISUCONに参加すると、自分のできることと足りないことを改めて棚卸して、新しい技を覚えて、丸一日コンテストに精一杯向き合い、結果を振り返るという一連のプロセスをとても楽しく感じます。
今年もどんなことが起きるか本当に楽しみです。
ISUCON10に参加される皆様がそれぞれ楽しい時間を過ごされることを祈念しています。

株式会社いい生活


シルバースポンサー & 配信スポンサー

株式会社LegalForce


LegalForce


LegalForceで研究開発部門の責任者をしている舟木です。
ISUCONのISUポンサーとして応援させて頂きます!

■株式会社LegalForce
LegalForceは自然言語処理を用いた契約書レビューシステムや契約書管理システムを開発しているリーガルテックの会社です。
弁護士や法務向けサービスを提供しています。

■高速化の取り組み
LegalForceは契約書を処理するために、文字列処理等の様々な処理をマイクロサービスとして組み合わせていますが、ユーザー体験を向上させるためには、レスポンス速度がとても重要です。

そこで、
- マルチスレッド、マルチプロセスによる並列実行化
- アルゴリズムによる計算量の削減
- ミドルウェアDB性能チューニング
- キャッシュ利用
- パフォーマンス計測
をはじめとする、種々の取り組みを行っています。

■ISUポンサーにあたって
私達は高速化がビジネスにおいてとても重要であると実感しています。
ISUCONで用いる知識は、きっと業務に役立ちます。
皆さんがISUCONにおいて力を発揮できるよう、心より応援しています!!
頑張って下さい!!

株式会社LegalForce 執行役員 兼 最高研究開発責任者 舟木 類佳



シルバースポンサー

株式会社アンチパターン


株式会社アンチパターン

株式会社アンチパターンは「日本のソフトウェアエンジニアを憧れの職業へ」を理念に掲げて2019年7月に創業いたしました。
今回初めてISUCONの開催に協賛させていただきます。ありがとうございます。

ISUCONは競いながらお互いを高め合うことのできるとても素敵な場だと思っております。
参加者の皆様におかれましては、いい感じにパフォーマンスを発揮されることを祈っております。

株式会社アンチパターン



シルバースポンサー

株式会社メルカリ


メルカリ


こんにちは!メルカリ社内でISUCONを愛する者が集う部活 #z-isucon です。

Web開発は学ばないといけないことが膨大にあります。特にパフォーマンスが出せるアプリケーションを開発することは非常に難しい・・・ISUCONはそれらを楽しく、リアルに、効率的に学べる場だと考えています。

限られた時間で、より高いスコアを出すために解析をし、チームメイトとアプリケーションからインフラまでどう改善するかをフルに頭をまわして、手分けして対策にあたる。

改善するとスコアがでて、より改善するともっと高いスコアがでる。現実では出ないスコアがでる体験はとても楽しいですね!

問題も第一線のエンジニアが実際に抱えていた問題を元に趣向を凝らして作られていたりして「実際ありそう」なリアルを感じることができます。

僕らもISUCON10に参加します。一緒に頑張りましょう!

そして終わった後の感想戦まで楽しみ尽くしましょう!

株式会社メルカリ #z-isucon(社内ISUCON部)kazeburo, catatsuy, jollyjoester


イベント協力パートナー

New Relic 株式会社

NewRelic

日本でパフォーマンスチューニングに熱狂する大会が存在している。

New Relic にとってこれほどワクワクすることはありません。本大会の存在を知ってから日本法人ではすぐに米国本社と相談し、これは支援するべきだと話合いました。話し始める間も無く、食い気味に「いいね!」と合意してくれた米国エンジニアチームと連携して、New Relic では大会参加者向け限定で New Relic 全機能をISUCON 期間前後 (大会受付開始日時 - 10/31) で解放する支援プログラムを提供します。特に複雑な条件はありません。大会前、大会中、大会後の振り返りと、ISUCON10 向けに利用するのであれば無制限 (詳細は調整中) でご利用いただけます。

ISUCON10 向け New Relic 特別ライセンスの申し込み手順を以下に公開しています。予選大会にお申し込みされた皆様はぜひご利用ください。

ISUCON10向け New Relic 特別ライセンス申し込み手順
https://blog.newrelic.co.jp/developers/how-to-utilize-isucon-special-license/

ISUCON10 で最高速を目指しましょう!New Relic も応援しています!

New Relic 株式会社

メディアパートナー

TECH PLAY


TECH PLAY

わたしたちは、15万人の会員が利用するテック系コミュニティ勉強会検索・作成サービス「TECH PLAY」や、月間1500人のテック人材が集うコミュニティスペース「TECH PLAY SHIBUYA」の運営など、学ぶ・繋がるプラットフォームを通じてテック人材のエンパワメントを進めています。
記念すべき10回目のISUCONをメディアスポンサーとして応援させていただきます!今年もまたアツい闘いが始まり、みなさんの様々な工夫が凝らされたコードという作品が生まれる瞬間を心から楽しみにしております!!

TECH PLAY


メディアパートナー

Increments株式会社


QiitaZine hspace=

Qiitaには2012年から、「参加しました」「過去問を解いてみました」「予選の環境を構築してみました」など、ISUCONに関する記事が投稿されており、年々その投稿数は増えています。

回を重ねるごとに盛り上がっていくISUCON。

「エンジニアを最高に幸せにする」というミッションを掲げている弊社も、Qiita Zineでのメディアスポンサーを通じてISUCONを盛り上げたいと思います。

Qiita Zine


メディアパートナー

@IT


itm


@ITは、2000年5月から「ITエキスパートのための問題解決メディア」として情報を発信し続け、2020年で20周年を迎えました。
今も昔も、熱意あるITエキスパートを応援する情報提供に努めております。競技の参考になる(かもしれない)記事など、エンジニアの皆さんの役に立つ情報をお届けしておりますので、ぜひチェックしてくださいね。

参加者の熱気に負けないよう、@IT編集部も全力でISUCONを盛り上げます! どうぞよろしくお願いいたします!

@IT
Read more...

ローカル環境でISUCON9予選のアプリケーションとベンチマーカーはGoとMySQLとDockerがあれば、Macなどローカル環境で動かすことができます。

ソースコードの取得

まず、ソースコード一式をもってきます
$ go get -d github.com/isucon/isucon9-qualify
$ cd $GOPATH/src/github.com/isucon/isucon9-qualify


初期データの作成

ベンチマーカー、アプリケーション両方が使う初期データの生成をします。
$ cd initial-data
$ make

makeを実行するとDocker コンテナの中で初期データの作成を行い、
initial-data/result
に結果が出力され、
webapp/sql
以下へのコピーも行われます。
パスワードの生成があるため、時間がかかります。

画像データの展開

初期データの画像とベンチマーカーが使う画像をダウンロードする必要があります。
ファイルは github releaseからダウンロードできます。1.5GB程度のファイルが2つとなりますので、回線状況のよいところでのダウンロードをおすすめします。

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

初期画像データダウンロード
$ cd webapp/public
GitHub releases から initial.zip をダウンロード
$ unzip initial.zip
$ rm -rf upload
$ mv v3_initial_data upload

ベンチマーク用画像データダウンロード
$ cd initial-data
GitHub releases から bench1.zip をダウンロード
$ unzip bench1.zip
$ rm -rf images
$ mv v3_bench1 images


データベースの作成と初期化

isucariデータベースとユーザの作成をします。
$ cd webapp/sql
$ cat 00_create_database.sql | mysql

mysqlのポート、ユーザとパスワードは環境に合わせて指定してください。
初期化はinit.shを実行します。
$ cd webapp/sql
$ ./init.sh

環境変数によってMySQLのホストやポート番号を変更できます。詳しくはinit.shの中をご覧ください。

アプリケーションの実行

Goの参考実装を起動してみます。
Goのバージョンは1.12以上で確認しています。
$ cd webapp/go
$ GO111MODULE=on go run api.go main.go

この状態で、ブラウザで http://localhost:8000/ をみるとISUCARIのログイン画面がでてくるはずです。
MySQLのホストやポート番号を変更する場合は、
webapp/sql/init.sh
を参考に環境変数を指定してください。試せるログインユーザは
docs/manual.md
に書かれています。

外部サービスの起動

アプリケーションは起動してますが、外部サービスがないため、購入時などにエラーになります。

payment service、shipment service の起動が必要です。

まず、各サービスをbuildします。
$ cd $GOPATH/src/github.com/isucon/isucon9-qualify
$ make

payment service、shipment service とベンチマーカーのバイナリができます。

それぞれ別ターミナルにて、
$ ./bin/payment

port 5555でpaymentが
$ ./bin/shipment

port 7000 で shipmentが起動します。
これでISUCARIが使えるようになるはずです。

ベンチマークの実行

ベンチマーカーがpayment、shipmentサービスを内包しているので、立ち上げた両サービスは停止する必要があります。

アプリケーションのみが起動していることを確認したら
$ ./bin/benchmarker

とすると、initializeのフェーズからベンチマークが動き始めます。

ベンチマーカーとアプリケーションを別ホストで動かす場合は、benchmarkerの起動時にURLを設定する必要があります。詳しくは
README.md
か ヘルプ
benchmarker -h
を参考にしてください。

参考までに MacBook Pro (13-inch, 2018, Four Thunderbolt 3 Ports) Intel Core i5 4 CPU モデルでの初期スコアは
2019/09/13 00:12:29 main.go:180: === final check ===
2019/09/13 00:12:29 main.go:212: 3020 0
{"pass":true,"score":3020,"campaign":0,"language":"Go","messages":[]}

これぐらいになりました。httpsでの通信がないためか予選時よりスコアは高くなっています。

なお上記の環境でベンチマークを実行すると、ファンがうねり、バッテリーが1-2%減ります。用法用量を気をつけて実行してください。よいスコア出ましたら、以下のissueに実行した環境と変更点など報告してもらえると、嬉しいです。

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

どうぞお試しください。
Read more...

9/12 22:00 自己申請による失格について再度検討を行った結果を追記しました
9/12 18:00 平文での格納について一部表現を変更しました
9/11 21:38 本選出場の取り消し無効にする対応を追記しました
9/11 17:30 bcrypt についての一部表現を訂正しました
9/11 17:09 経緯についての追記を行いました

ISUCON9 予選においてレギュレーション違反があり、本選出場者の繰り上がり対応を行いました。

経緯としては、マニュアルの制約事項にあった「パスワードを平文で保存すること禁止する」が該当しました。パスワードの保存の規定については、ISUCONの競技の性質上すべてをチェックすることは難しく、参加者の申告に基づき判断をしております。そのため、競技終了後すぐに判断することは出来ずこのタイミングとなりました。

[9/11 17:30 追記]
運営の対応についていくつかのポイントで説明責任があると考え、追記いたします。

◾️ 問題作成の経緯について
課題アプリケーションのパスワード保存にbcryptを採用した経緯ですが、参考実装を提供する各言語で実装があり、saltの付与やストレッチングが可能であり安全なアルゴリズムとして広く利用されていると判断し、採用しました。

ベンチマークの試行中において、キャンペーン機能による大量の購入リクエストを行うため、ログインが多く発生するようになっています。その結果として課題アプリケーションに問題作成者自ら取り組んだところでも、bcryptによるCPU使用率が目立つことは認識しておりました。

bcryptによる負荷の対処方法として、サーバを追加、軽量なハッシュ関数での代替、あるいは平文での保持を開発チームにおいて想定しましたが、現実の問題として、パスワードなどの情報流出などの事件が発生しており、安全性の高くないアルゴリズムの利用、平文での格納は一般的に推奨されない実装方法だという認識を同時に持ちました。
※9/12 18:00 一部表現を変更しました

ISUCONの課題アプリケーションとして、bcrypt の負荷を解決し高いスコアを出す方法がサーバの追加の一つだけであることは避けたく、bcryptの変更禁止ではなく軽量なハッシュ関数での代替を可能とする、「平文での格納を認めない」という文言をマニュアルに追加しました。例え、bcryptの維持であってもそれを検証することは難しく、参加者からの申告をもって失格の判定を行えば十分であろうと想定しておりました。
※bcryptについて、一部表現を訂正しました

■競技中に繰り返し質問をしたにも関わらず回答が得られなかった内容で失格とするのは問題があるのではないかという意見について
当日のサポートチャットのログを掲載しながら説明いたします。このサポートチャットはそれぞれの日に参加している参加者全員が見ることができるもので、 #general という参加者全員が参加しているチャンネルでのやりとりです。該当のレギュレーションについては何度かサポートチャットで話題にあがりました。

12:12 表記について指摘があり説明を行いました
dis02


14:34 表現について指摘があり修正をすることになりました
dis01


14:41 #announce  という運営からのお知らせのみを発信するチャンネルにて、マニュアルの更新を行ったことを案内しました
dis05


15:16 該当チームより質問がありましたが回答しませんでした
dis03


16:00 再度、該当チームより質問がありましたが回答しませんでした
dis04


当日、2度に渡りメンションがありましたが、回答がされていないことを確認しました。未回答となったことについては不親切であり、参加者の方には不満と感じる点であったかと思います。申し訳ありません。

背景を説明させていただきますと、競技の前提条件をまとめた予選マニュアルにこのように記載しています。
サポートは事前に連絡のあったDiscord のチャンネルにて行いますが、基本的に、予選環境の構成・操作方法やベンチマーカーの処理内容については返答しません。 また、以下のURLにこれまで返答された質問などがまとめられています。 何かある時には一度ご覧ください。
ISUCONでは基本的にマニュアルに記載があることについての質問には未回答としたり「マニュアルを読んでください」という回答を行うことが多くあります。

マニュアルに記載があること以上の情報を提供することは1日目と2日目の情報量に差が出てしまうため慎重に行いたいというのが運営側の姿勢です。競技中もDMにて質問が寄せられることが多いため「個人情報やアカウント情報のやりとり以外の、問題に関するお問い合わせはDMではなく #general にお願いします」といったアナウンスも行っています。

とはいえ、全ての質問に答えないということはもちろんなく、マニュアルの記載ミスやバグと思われる挙動についてはサポートチャットにて回答を行っていました。該当チームより質問があった際は「明確に定義して回答するべきものではない」「マニュアルに書いてある以上のことは答えようがないから未回答でよい」という運営側の判断がありましたが、参加者にとっては不親切であったかと思います。答えられません、といった回答をするべきであったと考えます。

■ ブログに書いてあったことを根拠として処理するのは問題があるのではという意見について
書いてあることが全てではないと考えますので、該当チームの方へ連絡する際にはこのような文面でありました。事実でない場合は失格処分の取り消しを行う体制でした。
ブログに書かれているパスワードの保存の実装が事実であれば、運営チームで
協議した結果としては失格に相当だと判断いたしました。



■ レギュレーション確認が出来ないポイントについて、ブログで情報を公開したことにより後出しで失格となるのは問題があるのではないかという意見について
ブログについては運営から「是非ブログを書いてください」と促しているように、積極的に情報を共有していただき次回の参加者やご自身の振り返りのためにお願いしていることですので問題としては切り分けて考えていただきたいと思っています。ブログを書くと失格になるというのは間違いであり、内容に問題があれば対処を行うというだけですので誤解のないようお願いいたします。

イベントのハッシュタグがついた状態でブログエントリが公開された段階で運営側で協議を開始し対応を行った形ですが、他の参加者の方から「不正行為にあたるのではないか」「データベース上の領域に平文の文字列はそのままの形で保存されるのは平文で保存ではないか」「平文がそのまま保存されているのは明確にルールに違反する」といった連絡が運営側に寄せられました。

前述したように「参加者からの申告をもって失格の判定を行う」というスタンスであったため、公開された情報を元に別のチームの参加者からの問い合わせに応えるという形で失格という判断にいたりました。



追記は以上となります。これまでに9回開催した全てのISUCONの運営窓口を担当していますので、参加者の皆さんが本気で問題と向き合っていることや、一年に一度の楽しみとして参加していただいているのは実感しています。参加者の皆さんには出来るだけ公平な状況で競技に臨んでいただきたいという運営側のスタンスが強く出てしまった点があったかと思いますが、今回のような望まない形で話題になってしまうのは本意では有りません。

これまでにISUCONの運営に関わってきていただいた多くの皆さん、楽しいと言ってくださる参加者の皆さんに対して誠意を持って運営を行ってきたと思いますので、これからも楽しく、挑戦しがいのある問題や環境を作っていけるよう、皆様のご協力をいただければ幸いです。


ISUCON9 運営実行委員会 櫛井

[9/11 21:38 追記]
運営チームで協議をおこない、本選出場者の繰り上がり対応が適切ではないと判断したため本選出場の取り消しを無効とすることとしました。なお、繰り上がりとなったチームについてはそのまま本選出場できるものとします。
自己申告により本選出場辞退されたチームについては意向を確認中で、希望されれば本選出場できるものとします。特にレギュレーションなどで定義していませんが、運営判断ということでご理解いただければと思います。

[9/12 22:00 追記]
チーム「H::W::A::Abyss::Abyss::Abyss」は競技後にレギュレーション違反の自己申請があり失格とさせていただきました。レギュレーション違反対応の再検討の際、自己申請による失格についても再度検討を行い、運営の方針変更による失格とさせていただきました。
Read more...

↑このページのトップヘ