ISUCON公式Blog

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

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

【締め切りました】ISUCON10 個人スポンサーを100枠先着で募集開始しました

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

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

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


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

02


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

ISUCON10参加者向けNew Relic特別無料ライセンスが利用可能となりました

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

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

ISUCON10参加者向けNew Relic特別無料ライセンスの利用手順について


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

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

ISUCON10 スポンサー各社からの応援特設ページ

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

掲載順

ISUCON10 実行委員会

LINE株式会社, クックパッド株式会社, 宇宙海賊合同会社, 株式会社リクルート, 株式会社サイバーエージェント, KLab株式会社, 株式会社エイチーム, Hamee株式会社, 株式会社ディー・エヌ・エー, ConoHa by GMO, AtCoder株式会社, フォルシア株式会社, 株式会社いい生活, 株式会社LegalForce, 株式会社アンチパターン, 株式会社メルカリ, さくらインターネット株式会社, 株式会社はてな, MySQL Community Team(Oracle Corporation), New Relic 株式会社, 株式会社出前館, TECHPLAY, Increments株式会社, @IT, エンジニアHubキャリア, マイナビニュース


運営

LINE株式会社

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

ローカル環境でISUCON9予選の問題を動かす

ローカル環境で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の中をご覧ください。
Read more...

ISUCON9 レギュレーション違反の対応について [追記あり]

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の維持であってもそれを検証することは難しく、参加者からの申告をもって失格の判定を行えば十分であろうと想定しておりました。
Read more...

↑このページのトップヘ