isucon11予選に参加しました
tkuchiki, KonboiとISUCON11 オンライン予選に参加しました。
結果はスコアが伸びず(最終スコア14656)、予選敗退となりました。
チームメンバーの記事
やったこと
インフラをtkuchiki, アプリを自分とKonboiでチューニングといういつもの役割分担で進めました。
- New Relicを見て処理時間の長いエンドポイントを確認
POST /api/condition/:jia_isu_uuid
をバルクインサートに変更- 1件のみデータ取得しているSQLに
LIMIT 1
を付与 get_isu_conditions_from_db
内のSQLにLIMIT #{CONDITION_LIMIT}"
を付与- index追加
tkuchikiがデプロイの土台を整えてくれていたおかげで、手元のコードを手軽にデプロイしてベンチを回すことができ改修がやりやすかったです。
できなかったこと
POST /api/isu
のチューニング
transaction内でAPIリクエストを送っている部分を外出ししてSQLをinsert文のみに置き換えられないかと思ったが、ベンチ実行時に互換性チェックでエラーになってしまった。
isu.image
をファイル保存して配信
画像をファイル保存し、↓へのアクセスを1台のnginxに集約すればうまく配信できそうということは分かったが、nginx側で認証を通しつつ配信する方法が分からず時間切れ。
- post "/api/isu"
- get "/api/isu/:jia_isu_uuid/icon"
さいごに
運営の皆様、今年もありがとうございました!
そして、いつも一緒に参加してくれるチームの二人もありがとう!