かまたま日記3

プログラミングメイン、たまに日常

ISUCON5に参加して惨敗してきた

サーバチューニングコンテンストのISUCONの予選一日目に参加してきました。
結果は惨敗、2000点も超えられませんでした。。。すごく悔しかったので来年もあれば参加したいです!

振り返り

  • Node.jsの実装が無いことを当日に発表される。Nodeで行く気満々だったので予定変更を強いられた。

ここで「みんな書いたことあるし言語のパフォーマンスが良いのでGoに賭けてみよう」という安直な理由でGoを選んだのが結果的に良くなかった。メンバーの中でGoに精通しているメンバーがいなかったので、内部使用を変更する場合の実装コストが高すぎた*1。一人でも精通している人がいる言語を選ばないとダメでした。

  • 遅いリクエストやクエリを調査し始めるのが遅かった
    • もともとNewRelicを入れる予定だったけど、Go版クライアントを入れられなかった*2
    • 事前にチームで見てたこの記事を意識すぎて「アプリに手をいれる前にミドルとかフレームワークから整備していこう」という意識が強すぎた。Webアプリチューニングの一番の基本がおろそかになっていた。

やったこと

*1:if文とかnilチェックもググりながら実装しなければならなかった

*2:gorelicを入れてみたけどグラフが出なかった