yashiganiの英傑になるまで死ねない日記

週末はマスターバイクでハイラルを走り回ります

ISUCON12 ふりかえり

今年は同僚のid:tkzwtksid:wtatsuruの2人と参加しました。リポジトリこちらです。以下は個人の日記レベルのふりかえりです

当日の流れ

  • 15分スプリントをくりかえすのが基本的な作戦
  • レギュレーションを読む
    • 配点や初期化、やってもいいことの認識合わせをする
  • コードを見始める。なんでかわからないけどMySQLSQLiteの二本立てでデータが保存されているやつを発見する
    • .sqliteを見て、CoreDataで見たことあるやつ!とテンションが上がるが、チームメンバーの共感は得られない
    • マルチテナントってこういうことだっけ?と言いながら最初はSQLiteを残したまま進めることにした
    • rankingのエンドポイントが遅いのでそこから対応する
      • 無駄なデータがとにかく多い。大量のデータを引いてきてから必要なデータ探すのが厳しいので無駄なデータを省いてscoreでorder byすることを提案した
    • 昼メシくらいにtenantIDが丁寧に処理されていることが話題になる。MySQLに移行しろというメッセージを感じつつも最初の方針を貫くことにした
  • 自分はrankingのN+1とcsv入稿で保存するデータを省くことを担当することになった
    • sqlxがうまく使えなくてハマる(1ねんぶり3かいめ)。1時間くらい潰した
      • 今年はstruct scanがシュッと書けなかった
    • 保存するデータを省くのはシュッと実装できた(15ふんくらい)
  • ここで昼過ぎくらい
  • その後はメンバーのハマりを順番に壁打ちしていたら時間切れ
    • 適切な提案はできたと思うが、スピードと精度が出なさすぎた
  • 終結
    • 4159

ふりかえり

  • 3回目にしてはじめてまともに問題に向き合えた
    • 今まではなにもわからないまま8時間を過ごしていた
  • 多少はDBに鼻が効くようになったが、過去の知見はなにも活かせなかった
    • SQLite
      • とはいえ、あまり否定的な意見を出さなくてそのままでもありかな〜とか思っていたけど、終わってから他チームの話を聞くと誰も信じてなかった。そりゃそうかと思った
      • これを残す判断をしたせいでインフラ担当のたつるさんが動きにくくなってしまった感もある
    • ひとつもインデックスをはれずに終わった
  • 妙に落ち着いていて視野は広かった
    • なぜかSQLiteのプロファイラーや移行ツールが存在することに気がついた
    • 方針決めにコミットできた
  • 実装力のなさにつまづく
    • 1年に1度の技術的なことをする日になってしまっているので手が動かない
    • これは毎回言ってるので本当に学びがないな…
  • 18スプリントまわせた
    • すごい!
    • 最後までお通夜みたいにならなくてよかった

合わせて読みたい

wtatsuru.hatenadiary.com

blog.tkzwtks.net