wassup?

新ブログ→memo.wass80.xyz

ISUCON8 反省

:thinking_face: 学生枠参加。本戦14位/30

SNSシェアをしなかった中ではそれなりの順位っぽいですね。

https://github.com/wass88/isucon8-final/issues/2

// の後ろが事後反省。

  • /infoの改善 -まともな時系列DBを使うほうが早そう // 時間内に無理
    • キャッシュする→定期的に生成するとかを思いつくべきだった 
    • たぶんここがかなり効くんだと思う
  • 取引測度の改善
    • POST /orders でrunTradeする必要はない。
    • Tradeサーバーをgoで動かす // できなかった。 pythonでもやろうとしたがうまく行かず
    • Tradeのアルゴリズムを改善 // 時間内に無理
  • ISULOGGER の send_bulk を使う。
    • sendをまとめて1リクエストにしてくれるやつ。非同期にログを流す。
    • // Logサーバーを立てて実装した。
    • // +200点ぐらいにはなってくれた気がする。
  • /signinのBAN
    • // 実装間に合わず
    • // SNSをONにしたときに効くらしい。
  • isucon-3のインスタンスが速いらしい
  • setting DBは完全に不要。
    • // redisに置いてもらった。
  • // SNSにはほとんど手を付けていなかった、最後30分でONにしてFailして終わりだった。
    • // 確率的にONにするのは思いつかないな…

SQLの改善はutgwさんに、インフラは全部nonyleneさんにやってもらった。

僕は全体を見て最初の2時間で戦略を練っていた。

/infoの真面目な改善について話し合うべきだった。

問題はすごく良かったと思います。まだまだ手を付けられるところが多い。

Pythonで非同期な処理を書くの非常に面倒なので、次からはGoでやりたい…

毎年要求されるレベルが線形に増えていくので、それに追いつかない感じがある。頑張り。