blog(unstable)

ISUCON初参加のふりかえり

July 26, 2022

category : 日記

tags :


ISUCONというパフォーマンスチューニングの大会、あるいはイベントがあります。
過去に社内イベントで競技者として1回、運営として1回参加し、なかなかおもしろかったのでいつか本家にも出てみたいなと思っていたところ、会社の後輩が参加登録に成功し、チームに誘ってもらえたのでISUCON12の予選に初めて参加しました。
そして当然のごとく予選落ちしました。

朝食の肖像 pic.twitter.com/2Ks8PbZJei

— kei (@_kei_s) July 23, 2022
(起床に成功したので調子に乗っていた人間の肖像)

チーム全体としてのふりかえりは別のメンバーがしてくれると思うので、この記事では個人的なふりかえりをしようと思います。

やったこと

前日まで

当日朝

{{< youtube 75YnJ_3289g >}}

競技中

だいたいこんなスケジュールを想定した

- ~ 11:00 マニュアル確認
- ~ 12:00 初期状態での計測
  - 計測ツール入れる
    - New Relic導入
    - スロークエリログ有効化
    - alpなど入れる
  - ベンチマークひたすらまわす
  - ベンチマーク結果からアタリをつける
- ~ 12:30 午後から触る場所を決める
- ~ 13:30 休憩
- ~ 終了1時間前 KAIZEN
- ~ 終了 作業止める

私がやったことは

わかったこと

発想はよかったけどカラテが足りず、SQL理解マンの力にすべて頼った形 やはりノーカラテノーニンジャ……

— kei (@_kei_s) July 23, 2022

つぎやること

  1. 監視・計測周りのツールキットを用意しておく
  2. 使用言語のコンテナ環境、あるいはある程度整備されたVagrantを用意しておく(チーム内共通の作業環境をすぐ立ち上げられるようにする)
  3. VPSへのデプロイフローを用意しておく
  4. nginxやmysqlなどの鉄板設定を用意しておく

この4点は手軽さに対して効果が大きいのでは、と思っています(というか今回意図的にやらなかったのでやっぱ必要だよねこれとなっている)。 というか、インフラ・ミドルウェアまでは事前準備で済ませて、当日はアプリに集中するのがよさそう。

あとは個人的に、ここ数ヶ月ずっとシェルスクリプトみたいなものとかYAMLやHCLばかり書いていたのもあってアプリが前ほど書けなくなっていたのに気付かされたので、アプリに対してのやっていきの精神が高まってます。

総括

来年も(参加競争に勝てたら)がんばるぞ。