Rso's Jotter

日々の開発の知見のメモやその他雑記

ISUCON12予選参加しました

すごい久しぶりの更新ですが..

いつものメンバーでISUCON12参加しました。 今年は(今年も)事前にほとんど準備する時間がとれなくて、事前に接続確認ぐらいしかしていなくて、ぶっつけ本番の参加でした。

今回の問題

www.youtube.com

isucon.net

やったこと

  • フロントとDBを分離
  • 不要なDBロックの削除
  • 管理APIからの入稿でN+1やめる
  • sqliteをtmpfsに移動
  • インデックスの付与など
  • その他細かいロジックの修正

ぐらいをやったら8時間が過ぎました.

初期スコアが2500ほどで、 最終的に最高スコアが9000点ほどに。 予選通過スコアが20000点ほどでした。無事通貨ならず.

...しかも、どうも再起動した際にtmpfs がマウントされてなくて、再起動試験時のスコアが上がらなかったようで、 失格扱いに。再起動テスト大事ですね。

所感

他の人のやったことを見ると、全然気づかなかなかったことばっかりでしたが、ボトルネックを計測-> 対策を繰り返して、 着実にスコアを上げられたのは良かったです。

3台サーバがあって、1台フロント、1台DBにしましたが残りの1台が完全に遊んでいたので、てっとり早くシャーディングするべきでした。

プログラムの仕様の理解が甘いので、そういう発想に至らないので、仕様をいかに早く理解するがポイントだと思いました。

あっという間の8時間ですが、とても楽しめました。