以下の内容はhttps://kotomi1338.hatenablog.com/entry/isucon14-mentaicocoaより取得しました。


ISUCON 14 PHPで参加 10,086点でした!メンタイココア #isucon

はじめに

2024年12月8日 ISUCON 14 に参加してきました!

昨年が初参加で、今回は2回目でした!めちゃくちゃ楽しかったので、ブログに記録として書いていきます。

前回のブログはこちら。

kotomi1338.hatenablog.com

チーム編成

チーム名は前回と同じ「メンタイココア」で参加しました!

メンバーは私と@inductorと、@yamato_sorarikuの3人でした!

@asumikamが来れなくなったのでやまとさんが加わりました、突然誘って一緒に出てくれてBIG感謝🙏

前日までの練習

前回終了後から、前チームの3人で2回ぐらいフルで素振りをしていました。定期的に ISUCONの過去問に触れていたことで、「やるぞ!」という気持ちを1年間途切れさせなかったのが良かったと思います。

ISUCON 14開催発表後からの本格的な練習は11月から始め、私とあすみかんの2人の練習に@stefafafanが先生となって色々教えてもらいました。題材はprivate-isuで、練習環境の構築の仕方から始まり、nginxでのキャッシュや、スロークエリの分析・改善の仕方、Redisの使い方などをきっちり練習しました。

同じチームでもなく、あすみかんも出れなくなり、PHPでも出場しないのに、練習を一緒にやってくれたすてにゃんには一生頭が上がりません。本当にありがとうございました。

この練習のおかげで、PHP以外の改善についても理解がめちゃくちゃ深まり、すごく自信になりました!

11月下旬ごろ、今回チームの2人or3人で過去問に取り組む素振りをしていました。短期間で平日の夜や休日に計5回ぐらい集まり、今回チームでの役割分担や、ISUCONの問題への立ち向かい方を一緒に体感していきました。

練習の中で、ISUCON10 予選問題のISUUMOのなぞって検索の改善が出来たことが嬉しかったです!13に向けての練習でも取り組んだ記憶はありましたが、全く刃が立たなかった問題で前進出来た実感がありました。

本番やったこと

全然参考にならないけれど、記録用として思い出せる範囲何してたかや感想を書いていきます。

本番は現地会場で参加しました!みんな朝早くから集まって最初の問題公開動画で「お〜!」「あ〜!」とリアクションがあったりとわいわいしつつも、ちょっと緊張感のある雰囲気で取り組んでいました。

でっかいスクリーンの前にみんな集まっていました

本番の初動では、ソースをgit管理したり、マニュアルを読んだりしていました。

午前中に、椅子の距離の計算をする複雑なクエリを倒す改善をしました。ここでやまとさんとペアプロをして、早い段階で「1つ改善した」を得られて楽しくなってきました。

午後、椅子のステータス遷移の部分に取り組んでいました。

練習でやったことを発揮したい私は、「Redis使えそう」という箇所を発見し、ステータス遷移したら現在のステータスをRedisに保存するように変更するようにしました。

この問題の本質ではなかったのかもしれないけれど、点数は上がって「めっちゃ嬉しい」になりました。

その後、通知のエンドポイントで重いクエリを改善したり、N+1を改善したりしていました。N+1も練習で出来るようになっていたので、本番でも実践できて楽しかったです!

お昼ごはんのお弁当が美味しかったです

学んだこと・気づいたこと

今回のISUCONは前回と違って「本番までに出来ることを増やす。練習したことを本番で発揮する。」という経験が出来ました!

少しミドルウェアの知識も増えたし、PHP以外のことも前回より出来るようになっているなと実感出来たことが大きな成長だったと思います!

またこの1年を通して、ISUCONだけでなく業務でも様々なプロダクトに関わったりもしていたので「知らないアプリケーションコードを読む」というスキルが上がったなというのも感じました。

そして、今回気づいたことは「単純に改善するのではなく、ISUCONの問題の本質を見抜いて改善することが必要」ということに気が付きました。 今回は私は「練習でやってきたことを発揮したい」という気持ちがあったので、問題そのものを理解することがあまり出来ていなかったなと反省しました。

次回参加するときは、そこも出来るようになっていたいです!

おわりに

今回のISUCON 14に向けて、モチベーション高く取り組めた1年間楽しかったです!

前回なかった言語賞があって、PHP賞もあったので、ひそかに狙って気持ちを高めていました。

賞は取れませんでしたが、10,000点は超えることが出来て、全体は128位/834チーム、PHP参加では5位/24チームだったので、個人的には嬉しく良い結果だったなと受け止めています!

ISUCON 13ではPHPが30位以内に入っていなかったのですが、今回PHP賞だったチームが30位以内に入っていたので「PHPでも結果出せるぞ」という希望が出てきたのも嬉しかったです!次回も頑張っていきます!

開催してくれた運営の皆さんや、熱意を持って取り組んでいる参加者の皆さんのおかげで本当に楽しかったです!ありがとうございました&お疲れ様でした!!

気合の入ったISUCONネイルで参加していました




以上の内容はhttps://kotomi1338.hatenablog.com/entry/isucon14-mentaicocoaより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14