はじめに
ISUCON 13に参加してきました!
練習から当日まで振り返ってブログを書いていこうと思います!
チームメンバーのあすみさんもブログ書いてるので良かったら見てください!
練習
初めてISUCONに触れたのは7月に会社の人と一緒にISUCON練習会をしたときでした。
ISUCON経験者の先輩と一緒に教えてもらいながら一緒にPHPアプリケーションの改善に取り組みました。
スロークエリの改善でインデックスを貼るとか、N+1を解消するとか全然やったことなかったのであんまりよく分からず、8時間やっても初期スコアよりちょっと上がったね程度でした。
2回ぐらいISUCON練習会をやりましたが、その時点ではまだ参加を決めていませんでした。
ISUCON 夏祭り
8月下旬にISUCON夏祭りというイベントに参加しました!初心者向けのハンズオンがあったので、それなら参加できそうだと思って参加してみたのがきっかけです。
セッションやスポンサー、夏祭りの催し物も豪華でカンファレンスみたいな感じでした!
この会がとても楽しかったことで、ISUCON挑戦してみてもいいかもと思ってISUCONに参加しようと決めました。
メンタイココア誕生
参加するにも1人はちょっと難しいなというところに、心強いインフラ担当が見つかりました。
インフラ担当します
— inductor / Kohei Ota (@_inductor_) 2023年8月26日
参加するなら普段からやっているPHP、それならもう一人PHPerを見つけようと声をかけたのがあすみさんで、秒でOKをもらってキャッキャとしながらチーム結成。
これが、1次申し込みの前日でした。
そして、申し込み当日の朝にサムネになっているチーム紹介スライドの通りチーム メンタイココアが誕生しました。
9,10,11月とチームでのISUCON練習は全部で3回やりました。
実際に問題に挑戦したあと、みんなで公式の解説や参加者のブログを読んで勉強するという感じで進めました。
直前の練習ではsjiさんがPHPerKaigi2023で登壇していたこちらの動画をみんなで見てとても参考になりました!
みんなGo使ってるって言ってるし……というところに、PHPでもできるんだぞという自信ももらうことが出来たのも個人的に嬉しかったです!
ISUCON 当日
当日はLINEヤフーさんの会場で現地参加してきました!運が良かったですね
チーム3人でオフラインで集まったのはこれが初めてでした!
なぜかこのチームにはヨギボーがありました。これは競技開始前の写真で、競技中私は1回も使ってないです。
#isucon 1番楽しんでやっていくぞ!! pic.twitter.com/om6UcAAudz
— ことみん (@kotomin_m) 2023年11月25日
当日はとにかく「楽しんでやりましょう!」ということを大事に参加することが出来ました!
初期スコアが出て一瞬2位になってわいわいしたあと、16:00前までずっとスコアが0でした。
俺たちのISUCONはこれからだ!!!#isucon
— ことみん (@kotomin_m) 2023年11月25日
その間インフラ側はお任せしながら、アプリケーション側をみて「こいつやべえぞ!」というところを見つけては潰していくPRを出していました。
ベンチを回して点数が出るようになってからは、一旦溜まってるPRを順番にマージしていって、ちょっとずつスコアが上がっていきました。
その後、重くてたくさん叩かれているAPI順になおしていきました。
GET: /api/livestream/{livestream_id}/reaction のN+1を改善したときに確か12000点を超え、GET: /api/livestream/{livestream_id}/livecomment のN+1も同様に改善したときに最終スコア近くの16000点を超えました。
途中0点が続く中でも、色々改善PRを出していく中でアプリケーションのコードを把握出来ていたおかげで、残り2時間でこの改善が出来たのかなと思います!
他のエンドポイントのN+1や、直したN+1の中のN+1みたいなところも分かっていたけど直すには時間オーバーだったのが悔しいポイントです。。
とはいえ目標の10000点は超えることが出来たし、8時間のあいだ「何もできない、何をしたらいいか分からない」という無力感を味わうことはなく、練習してきたことが出来のが嬉しかったです!
一番楽しんでいたで賞を取ることは出来ました(たぶん)!
オフライン会場では最初や結果発表の配信をみんなで見たり、競技中も特別賞が出たときや終了時などに拍手が起こっていました!
今回優勝したNaruseJunチームや入賞したチームの皆さん、そして作問者や運営の皆さんがいるここにしかない貴重な場だなと感じて良い緊張感を持って参加していました。
来年もまた頑張ってここに来よう…!とさらに強くなって参加したい!!と決意がみなぎりました。
さいごに
参加してみて、去年までのISUCONとイメージが180度変わりました。
自分が改善した内容がマージされて点数が上がった瞬間の達成感、脳汁ドバドバの瞬間を忘れられません。
今回のISUCONで私は「ISUCON分からなくて怖い」から「ISUCON楽しい!」へと変わることができました。
来年はもっと強くなって、自分で出来ることを増やして参加します!!
ISUCON運営メンバーの皆さん、ありがとうございました!!!
そして、一緒に参加してくれたチームメンバーの2人 @_inductor_ @asumikam もありがとうございました!!!