🚅 ISUCONでやることを簡単に紹介
2024-09-08
ISUCONとは?
-
ISUCONとはLINEヤフー株式会社が運営窓口となって開催している、お題となるWebサービスを決められたレギュレーションの中で限界まで高速化を図るチューニングバトルです
-
動作の遅いwebアプリケーションをあの手この手でチューニングし、一番速くできたチームが優勝です!
昨年の内容
- これまで13回行われており、前回は2023年11月25日に行われました
- ISUPipeと呼ばれる動画配信サービスのパフォーマンスチューニングを行っていきました
- 参加者数
- 参加チーム数 694組(学生 78組)
- 参加者合計 1662名(学生 253名)
今回の内容の要約
- 開催日と場所:
- 2024年12月8日(日)
- オンラインとオフラインのハイブリッド形式
- 昨年と同様、本戦のみ
- 主催と運営:
- ISUCON運営実行委員会
- 運営窓口はLINEヤフー株式会社
- 優勝賞金: 100万円
- 問題提供と協賛:
- 出題企業: ポケットサイン株式会社
- 運営協力: 株式会社カケハシ
基本的なレギュレーション
- 禁止
- webアプリケーションの見た目を変更すること
- 画面に表示するデータの数を減らすなど
- あまりフロントエンドをいじることはない
- 基本的には入力と出力を変えずに、それを達成するための実装を変えて高速化することになります
- 外部のコンピューティングリソースに委託して処理を行わせること
- 他チームとの結託
- webアプリケーションの見た目を変更すること
流れ
競技開始後
10:00-11:00
-
運営から配布されるCloudFormationのYAMLファイルを使って自分のAWS環境にサーバ構築
-
アプリケーションマニュアルを読む
- 当日マニュアルの確認
- 初期実装の動作確認・ボトルネックを把握する
-
初期実装の言語を変更
-
アクセスログとスロークエリを吐き出すように設定を変更
-
ISUCONのポータルサイトでベンチマークを実行しスコアを確認
-
ログを解析し、ボトルネックを把握
-
チューニング(11:00~17:00)
- 計測→チューニング→計測→…を繰り返す
- DBにインデックスをはる
- N+1問題の改善
- オンメモリキャッシュの導入
- などなど
終盤(構成変更・ログ出力停止・再起動試験対策)
- 再起動してもアプリケーションがうまく動作するかチェックする
- 少しでも速くするために、ログ出力を停止する
- 構成を変更する(負荷分散)
競技までの流れ
参加申し込み
- 今回ISUCON14では以下の日程で参加者募集が行われる
- 2024/09/18 10:00-
- 2024/09/24 20:00-
- 2024/09/28 12:00-
- 参加申し込みだけは死守しておく
競技の準備
- 公式が行う事前講習に参加する(任意)
- 個人・チームで過去問練習しておきます
- ISUCON本に登場するprivate-isuを解くと良いでしょう
- ISUCON12、ISUCON13の過去問で練習を行う場合は、ISUNARABEというサービスを使用するのが便利です
- 競技中の便利ツールやチームの動きを整理しておく
- 特にデプロイが不便なので、デプロイフロー
- ISUCONではEC2インスタンスで作業する必要があるので、デプロイが辛くなる
- 競技中はチューニングに集中できるような環境を作っておく
- 特にデプロイが不便なので、デプロイフロー
Penpen7のブログ