📑

初めてのISUCON13を終えて

2023/11/26に公開

ISUCONとはなにか

ISUCON = Iikanjini Speed Up Contest
LINEヤフー株式会社が主催するWebサービスのパフォーマンスチューニングコンテストです。
この競技は最初にWebサービスが動作しているサーバーが与えられます。
競技者はそのサーバー上で動作しているWebサービスを仕様を維持したまま
高速にレスポンスを返すような改修することが求められています。
ISUCONは「何でもあり」のコンテストといわれることがあります。

ISUCON13

📕ISUCON13のお題
https://www.youtube.com/watch?v=OOyInZbM85k

🐈ライブ配信サービス 「ISUPipe」の高速化✨

ISUCON本戦までに準備したこと

1.ISUCONの本を読む

私は初めてISUCONに出場するため、何の準備をすればよいかわかりませんでした。
そのため、ISCONの記事でよく目にした本を買いました。
https://www.amazon.co.jp/達人が教えるWebパフォーマンスチューニング-〜ISUCONから学ぶ高速化の実践-藤原-俊一郎/dp/4297128462

この本は、ISUCONでパフォーマンスを上げるためのポイントが紹介されています。
また、private-isuというリポジトリを使ってISUCONの練習ができます。
私はこの本を読んで,private-isuで練習を行いました。

2.ZennやブログなどISUCONにまつわる記事を読む

記事を読んで準備が全然足りていないと気づく。本戦2日前😭
https://zenn.dev/bubusu/articles/50fced1300046a

ISUCON本戦の動き

10:00~ スタート

  • Cloud Formationで環境を構築
  • 開発言語をNodeに変更
  • 初期スコア 3638

12:00~ 問題の調査とベンチマーク

  • DNS水責め攻撃の調査
  • アプリケーションの改修
  • DBのスロークエリログを監視
  • スコア 2500

16:00〜18:00 DBのチューニング

  • DBをSource Replica構成
  • リバースプロキシの静的コンテンツの配信
  • 最終スコア 2860

🙇反省

1.連携

午前はチームでボイスチャットをして連携ができていたと感じる
午後からはチャットのみでの作業だったため、連携が難しかった。
初めての大会だったので全員で一つずつ問題を改善していけば良かったと感じる。

2.作業分担

初めての参加だったため、問題になりそうな部分に手当たり次第取り組んでいた。
まずは、問題に目星をつけてから動き出すと良かったかもしれない。
早期に監視ツールやER図も準備できたら作業効率がより良くなったかもしれない。

3.準備不足

ISUCONの常連の方は1ヶ月に1回ISUCONの練習や秘伝のタレを準備している。
また、参加前に大会での動きを決めて参加しているみたい。
自分の知識不足も目立った。
mysqlの変更点などをシェルファイルとして準備して、
全てのサーバーに流すだけにすれば良かった。

🚴‍♂️まとめ

ISUCON楽しかった!!
Indexを貼るだけでスコアが1万点を超えるときいてマジかとなりました。
外部のコンテストの参加が初めてだったので良い経験でした!!
また、来年に向けて頑張りたいと思えるきっかけになりました。

GitHubで編集を提案

Discussion