だいたい死んでる

渋谷で働いているWEBプログラマーです。

isucon11予選に出場して敗退した

isucon11に予選に出場して敗退したのでやったことのまとめ。 スコア的には本戦出場かしないかくらいのところにいる気がするのですごく悔しい。 チーム名は「牡蠣に当たるときの効果音→カッキーン」

当日のリポジトリはこちら 

github.com

メンバー

当日一緒に出てくれたメンバーの紹介

pinkumohikan

我らがリーダー

常に冷静沈着でいい感じに指示を出してくれます

インフラアプリ何でもできるすごい人

cureseven

アプリガシガシ直していく担当

isucon公式ソングの歌ってみたを一番早く出した人

自分の担当

サーバー分離とかミドルウェア周りの整備とかをする人

なんとか調べてなんとかしてます

当日やったこと

github.com

このissueを見るとだいたい流れがわかるので、大きなところだけ。

10:00~11:00

いつも設定するやつを設定していました。

ここは練習したので、30分程度でいつも終わっています。

pincmohikanがindex貼ったり、curesevenがDBのconnection数や動的プレースホルダなどを行いました。

僕はDBの負荷が結構あったのでアプリとDBの分離を行いました。

この時点でスコア21701で6位を取って興奮してました。

11:00~12:00

pincmohikanがバルクインサートを設定してくれていました。

github.com

12:00~13:00

mysql8にして「ORDER BY timestamp DESC」となっていた箇所にindexを効くように変更。

insertが重かったのでmysqlinnodb_autoinc_lock_mode =2を設定して少しだけスコアが伸びる。

13:00~15:00(ご飯もこのあたり)

varnishと格闘していた思い出しかなく、何もできていない感・・・

設定への理解不足が辛かった。

ここは設定できなくて挫折。

15:00~16:00

Web2台DB1台構成に変更。

半々の割合くらいでリクエストを各サーバーへ飛ばすように変更。

16:00~終わりまで

ほそぼそとチューニングをしていました。

再起動に問題がないかを最終チェック。

あとはなにかSQL書いていた気がします。

まとめ

f:id:MikaE:20210822151328p:plain

最終スコア31位にいて悔しい気持ちでいっぱいです。

今年はどのチームよりも練習した自信があるだけすごく悔しいです。

16回近く練習に付き合ってくれたチームメンバーには感謝しかないです。ありがとうございます!

来年こそは、本戦に出たいなと思います。

運営の皆さんお疲れさまでした。

メンバーのブログ

shiningcureseven.hatenablog.com

blog.pinkumohikan.com