🚄
ISUCON13参戦してきました!
この記事は、Lancers(ランサーズ) Advent Calendar 2023 の7日目の記事です。
はじめに
ISUCON13に参加してきました。初参加でした。
結果は最終スコア9,782点で661チーム中292位でした。
ISUCONとは
ISUCONとはLINEヤフー株式会社が運営窓口となって開催している、お題となるWebサービスを決められたレギュレーションの中で限界まで高速化を図るチューニングバトルです
参加のモチベーション
- 前職の先輩である、yagipyさん・hirokinakanoさんに誘われて
- エンジニアとしてやっていくなら一回は参加してみたい
- 仕事に活かせそう
- なんとなくおもしろそう
- やるなら上位目指そう!!!
準備期間
ということで6月中旬頃にお誘いいただいて、準備を進めていきました。
6月〜9月
- キックオフMTG
- 隔週ペースでISUCON本輪読会実施
- 参加登録
10月〜11月
- 当日使うツール群の準備
- Ansible
- デプロイスクリプト
- スロークエリ計測用スクリプト
- pt-query-digestを用いて計測結果をdiscordに投げる
- アクセスログ計測用スクリプト
- alpを用いて計測結果をdiscordに投げる
- 素振り
当日
9:00
- 起床&集合@online
- Youtubeライブで問題解説を見ながら各自の初動を再確認
10:00
- 競技開始
- ssh接続確認
- アプリケーションコードのGit管理
- デプロイスクリプトの導入
- 計測用スクリプトの導入
- マニュアル読み込み
12:00
- 午前中に計測&改善の仕組みが整ったのでお昼休憩にしました
13:00
- 再集合
- インデックス追加
- プリペアードステートメント無効化
- N+1修正
- アイコン画像最適化
ベンチマーク推移
18:00
- 競技終了
- 19:30からYoutubeライブで結果発表があったので打ち上げをしながら配信を待ちました。
まとめ
よかったこと
- 楽しかった!
- 計測&改善の仕組み作りが予定通り完了した
- ボトルネック特定->改善が本番でできた
反省点
- 実装力不足でボトルネックがわかっていても時間内に対処しきれなかった
- キーとなるDNSの対応まで辿り着けなかった
スコアとしては上位勢の足元にも及ばず悔しい結果となりましたが、とても楽しかったです!
ISUCONを通じて得た知識を活かして速度改善頑張りたいと思います!
Discussion