🪑

ISCON13 初めて参戦したよ

2023/11/26に公開

はじめに

ISUCONに初めて参加して楽しかったので、参加記録を書きます!

準備

一緒に参加したチームメイトからISUCONに誘われて会社の同期3人で出場することを決めました。
全員初めての参戦なので過去問をやったり、ISUCONの予習動画などを見たりしました。
普段の業務では用意された環境で実装することが多いのでgit管理やデプロイのやり方、ログの集計・解析をみんなで試しながらMakefileに落とし込み、自動化する作業を主に行いました。(事前練習の8割くらいはこれに費やした記憶。この練習自体がすごく勉強になった&みんなで進めるのが楽しかった)
あとは開始直後の役割分担や進め方を決めて本番に臨みました

当日

前日はよく寝て、9時過ぎごろに集合しました。

競技開始(午前)

開始直後は元々割り振ってた作業を各々順調に進めました。
事前練習では、1台のサーバーで練習していたので、デプロイや計測結果を集計するMakefileを書き換えてたりしていました。本番では3台のサーバーが提供されていたので、その辺りの修正をしたり、alpやスロークエリログの出力を見てインデックスを貼ったりしました。
事前の練習の成果がしっかり発揮できたのがとても良かった。

お昼

コンビニで弁当を買って食べました。全員サラダを食べてました。健康第一。

午後

ベンチ実行時のCPU使用率を見るとmysqlの負荷が高かったので、1台をDBサーバーとして割り当てることに決めました。
しかし、1台のサーバーでしか練習をしてこなかったため、サーバーの構成を変更する作業はとても難易度が高い作業でした。結局みんなで2時間くらいかけてなんとかDBを別サーバに切り出すことに成功しました。(途中、ベンチの初期化エラーになったりしてめっちゃ焦った)
なんとか変更し、ここでスコアが10000点を突破しました。(泣いた)

終盤

その後はDNSのボトルネックを改善したかったのですが実力と体力が足りず断念しました。
インデックスを貼ったりログ出力を止めたりしました。
最後にベンチガチャをして、最終スコアを10500点くらい(当日の最高スコア)で終えました。
初参加で頑張った!!

感想

良かった

  • 準備したことが本番で発揮できたのがすごく良かった、練習は裏切らない。
  • 役割分担や、各々の作業の共有、コミュニケーションの取り方が良かった。
  • サーバーの構成変更が本番一発勝負でなんとかできた。
  • ベンチスコアのロジックをしっかり分析できた。
  • チームで納得する意思決定ができた。
  • デプロイを自動化したり、サーバーに入っていじる経験はなかなかできないので勉強になった。

次回じゃ

  • 複数台のサーバーを建てて、構成変更の練習したい。
    • 今回全員で取り組んだ構成の変更などは一人で担当して、他2人は別のボトルネック改善に注力したい
  • メインのボトルネックを改善して大幅に点数上げて大騒ぎしたい。

Discussion