角待ちは対空

おもむろガウェイン

ISUCON8予選の感想

今年は勝てるという自信があったけど結局負けました。

isucon.net

反省をするならば

  • アプリケーションを見た時点で自分ならこう作るなというイメージが沸かなかった
    • ので、悪いのがアプリケーションコードなのかDBのスキーマなのか判断つかずに闇雲な改善策を取ってしまた
    • そしてその改善策がビックバンリリース的で、さらに結局失敗した
  • 自分はコードを書くのがそんなに早くない、というか遅いので、早い人がいるのであれば任せたほうがいいなと思ってしまった

一番最初のボトルネックを潰すのにあんまり良いアイデアが浮かばず、かつ自分の消極性からメンバーに頼り切りにしてしまったのが良くなかった。 僕個人の能力も足りてないし、チームとして成果でリカバリしようという姿勢もなかった。

試合終了後に冷静に自分ならどう作るかを考えたとき、「まぁ予約だとかキャンセルはイベント全部記録しておいて今の状態を知りたいならば頭からイベント再生するよな」といういわゆるイベントソーシングの考えに至ったけど、時すでに遅しという感じだった。 改めて見るとアプリケーションコードはダメダメだけど、DBのスキーマはそのような意図のスキーマになっていたので初手としては上記の考えに従って改善していればよかったと思う。実際はそれでもボトルネックの解消にはならないのでキャッシュする等の次の施策が必要になるのかもしれないけど、そこにすらたどり着けなかった。

初手逆走してしまうと厳しい。小さい逆走ならともかく大きく逆走のも良くなかった。 これは普段のソフトウェア開発と同じで、小さくリリースしましょうとか一人に大きなタスクを押し付けないとか基本的なことの積み重ねなので、つまり普段やってることが全然いかせてないか普段からできていないかのどちらかということになる。

毎年今年は勝てるでしょという謎の自信のもとに参加して負けるわけだけど、今年は特に打ちのめされた。

来年も開催されるのであれば今度こそ予選勝ち抜きたい。


最後になりましたが、運営の皆さまお疲れ様&ありがとうございました。