やったぜ!
ISUCON5とISUCON6はScala界隈の方とScalaで突破しようとして一般枠で撃沈していたのですが, 今回はチーム「チーム名を考えるのが苦手すぎる」として OUCC の老害組 (@spring_raining, @susisu2413) と人生最後の学生枠を初利用して最終スコア89,047で初の予選突破できました (なお一般枠のスコアを見て真顔). 開催時間が押したことにより @spring_raining の途中離脱が発生したりしましたが無事 (?) 終えることができました.
チームメンバーの2人が 💪JavaScript力の塊💪 だったので (Scalaではなく) JavaScriptです. その2人がアプリ, 私はミドル系で分担していました.
- アプリ側: Linter/リファクタ → iconsをDBに入れないようにする → ひたすらredisにぶっこむ → 細かいチューニング → ベンチマークガチャ
(アプリ側はそのうち2人がまとめてくれそう) - ミドル側: いろいろ初期化 → いろいろプロファイリング → iconsをDBから取り出す → いろいろ事前gz化 → mysql/nginx/redisの設定を地道に弄る → ベンチマークガチャ
大したことしてないですね, はい. 終始リーダーボードの下の方で見え隠れするくらいのスコアでした. リーダーボード凍結辺りからはCPUが100%に張り付きiconsがタイムアウト連発して全くスコアが伸びませんでした…圧倒的力不足…
よくなかったこと
- 色々勘違いしてサーバ1台で頑張ってしまった (アホ)
- キャッシュに関する圧倒的知識・経験不足 (すまん)
- レギュレーションをちゃんと読まなかった (レギュレーションにヒントが多かった)
- リハーサルなし (pixiv社内ISUCONがそっくりだったらしい…終了後に知った…)
よかったこと
- 予選突破 (めでたい)
- 全員集まって参加 (実は初めて)
- Webアプリの知見が結構増えた (普段, 特に最近はWebアプリを触る機会がないので. つまり ISUCON最大の目的を達成)
忙しくて (言い訳) 予選は完全に準備不足というか初期化スクリプトの準備くらいしかできていなかったので本戦は足を引っ張らないように頑張りまふ. それと本戦終了後は結果がどうであれもうちょっとまともなエントリ書きます.
最後にISUCON7予選で最高のスクリーンショットを共有しておきたいと思います.
(デバッグ風景)