ISUCON9 予選ログ
Created at Wed, Sep 11, 2019ISUCON9にチームSsstohで会社の友達と参加してきました。最終スコアは11,860で、無事に本線に出場出来ることになりました:D
僕がやったことをつらつらと反省とともに、ログに残して置こうと思います。
ちなみに言語はGoです。
僕がやったこと
- 朝
- 寝坊しました
ISUCON起床失敗
— Sato Shun🧁 (@stsn_jp) September 7, 2019
- 12:00くらいまで
- アプリケーションコード読んだり、alpの結果見たり、スロークエリログに対してIndexを適当に貼ってみたりしてた
- スコアほぼ変わらず。それはそう
- アプリケーションコード読んだり、alpの結果見たり、スロークエリログに対してIndexを適当に貼ってみたりしてた
- 12:00から
/users/transactions.json
が遅そうだったので、そこを潰す- USERの取得などがN+1クエリだったので、それを
IN
句に置き換え - 道中、外部APIを叩いてるところがボトルネックっぽいことに気づく
- USERの取得などがN+1クエリだったので、それを
- ここらへんの修正で、確かスコアが5000~6000くらい(他の人の修正も入っているので、これだけではないです)
- 16:30くらい
/new_items/:root_category_id.json
、/new_items.json
のN+1クエリログを倒す- ここらへんで確か8000~9000くらい
- 17:30くらい
- 他の人のPRみたり、静的ファイルをNginxから返すようにしてた
- ここらへんで10000~くらい
- 他の人のPRみたり、静的ファイルをNginxから返すようにしてた
- 最後らへん
- ログを出力しないようにしたり修正
- ここらへんで最終スコアの11,860くらい
- ログを出力しないようにしたり修正
こんな感じ
反省点
- 3台構成に出来なかった
- 練習不足で時間が足りなかったんやなって
- キャンペーンモードを忘れていた
- READMEはちゃんと読もうな
- ログインにボトルネックがあることに気づかなかった
- pprofしていこうな
- SQLの書き方が記憶から失われていた
- 頑張っていこうな
- 寝坊しない
- それは無理かもしれない
まとめ
- 本線頑張るぞ〜😃