チーム慎太郎でISUCON14に参加しました
ISUCON13に引き続き、4度目の参加をしました。
Golangを選択し、結果は163位、8,319点でした。
チーム
チーム名は「慎太郎」。
メンバーは @yktakaha4、@matchasong、そして@kangaechuの3人で参加しました。
メンバーは前回と同様、前職の同僚です。
おおまかな役割として、以下の割り振りで行いました。
- @yktakaha4 : アプリ
- @kangaechu : インフラ
- @matchasong : インデックス付与、アプリ
準備
事前に4回くらい集まり、ISUCON13などを解き直していました。
前回からpprofを取得するようにしましたが、pprofを中心に改善を進めることでパフォーマンスのネックになっているところを重点的に改善できるようになりました。
当日の様子
当日のスコアの様子は以下の通りです。
10:00
10時の競技開始後、CloudFormationの起動をし、各サーバのセットアップを進めていました。
sshで入れない事態が発生し、焦りましたがなんとか入れました。
2人が当日マニュアルを読んでいるのを横目で見ながら作業を進めていたので、仕様を理解しきれていなかったかもしれません。
11:00
計測ができる状態での1回目のスコアは941点。
12:00
ごはんは今回は肉まん。
netdataで見たところ、1台目の負荷が高すぎるため、DBを3台目に移しました。
また、matchasongがインデックスを張ってくれて点数が5,526点に上昇。
15:00
yktakaha4がマッチング処理の無駄なループの改善やownerGetChairsのクエリ修正を実施。7119点。
16:00
yktakaha4がisuのステータスをキャッシュする処理を追加。
17:00
RetryAfterMsの調整。
ログレベルをOFFに変更したり、MySQLのスローログ設定を元に戻したり。
17:50に最終スコアが8,319点出たのを確認し、そこで打ち止めとしました。
振り返り
- ○ : そこそこの順位につけることができた
- ○ : 楽しく完走することができた
- ○ : 事前準備のおかげで前半はスムーズ
- ○ : アプリ側のコードに手をつけることができた
- ✖︎ : 3台中2台しか使っていなかったのでその設定を先にすれば良かった
- ✖︎ : 問題の把握が難しかった
- ✖︎ : アプリ側の自分の修正がスコア改善につながらなかった
- ✖︎ : アプリのスコア改善が相変わらずyktakaha4頼み
毎年同じような悩みから抜け出せてないですね。
楽しかったのでまた次回も参加したいです!
Discussion