読者です 読者をやめる 読者になる 読者になる

ISUCON本戦で人権を失った

予選突破の喜びはこちらです.

programmermot.hatenablog.com

結果

覚えてないけど初期実装下回る点数がでたので人権がない.さすがにつらすぎて記録とるの忘れてた...

当日の様子

f:id:programmerMOT:20161022204227j:plainf:id:programmerMOT:20161022090836j:plain

チーム卒業の軌跡

時系列はちょっと怪しい.

まず問題を確認.

ISUCON6本選オープニングプレゼン #isucon /isucon6-final // Speaker Deck

Docker,Reactで後ろにWebappがある感じ.Server Sent Eventが何か知らなかったけどとにかくPushする機構というのを理解した. 最初の1時間をかけてコードを読んでだいたい構成がわかったからどのようにスケールさせるかを考えた. 最初から5台使うことを考えて,

  • nginx + react(1台)
  • app (2台はapi,1台はstream)
  • mysql(1台)

という構成にすることになった*1

ここで何をトチ狂ったかh2oを試そうとして1時間を潰した.落ちついてnginxにして,各マシンにプロキシするようにしてエラーが出ないようにした段階で既に半分時間が過ぎている形となってしまった. こっからかなり焦ってしまって小手先のコード変更ばかりしていて,コード変更→Fail→なんとか治す→Successしたけど点数減る→変更→Failみたいなループを始めてもうダメだこれうーんどうすればいいんだと思ったところで8時間が終わってしまった.

abcangくんにはapp(ruby)周りの高速化をお願いしていた,がそもそもそれ以外の最適化がちゃんとできていなかったので旨味を感じる前に終わったのかなぁと思っている. syusuiくんにはmysql周りのセットアップとappの/api/streamまわりをお願いしていた,がそもそもそれ以外の最適化がちゃんとできていなかったので旨味を感じる前に終わったのかなぁと思っている.

つまるところ,どうでもいいことに対して時間を使い適切な指示が行えなかった僕に大きな失敗だった感がある.

やるべきだった点

  • Reactのproxyやめるのが遅かったもっと早い段階でできた
  • Reactさーばを分散させること.ここを一台で回すのどうやら失敗っぽい

良かった点

  • 朝起きれた

良くなかった点

  • あんまり使ったことのないh2oを利用したこと.使ったことのないものは結局使えないというISUCONの原則に反していたのは大きい失敗
  • 最初っから5台使い切ろうみたいな戦略にしたこと.もっとスモールスタートでも良かった気がするし,5台使わなくても十分学生top取れたと思う
  • Reactが大きなボトルネックになることを見抜けなかったこと.Reactは全員あんまり理解していなくて手を出さなかったのが完全に良くなかったと思う
  • ちゃんとした計測をしなかったこと.推測するな計測せよの原則に反していたのは大きい失敗
  • サーバ整うのに時間がかかってアプリの最適化着手が遅くなったこと.これは本当に申し訳なかった

まとめ

こうしてみると,ReactとかDockerとか使ったことはあるけどチュートリアル試したりちょっと使う程度でしか使ってなかったものがあったせいでびびったというか怖気づいてしまったのが大きいのかなと思う.あとそれに焦ってしまって適切な計測をせずに手を動かしたのは良くなかった.ちゃんとできることを確実にしているだけでも良い点数が出たと思うし,上位にも食い込めたとは思う.今回特に辛いのは参考実装を下回ったという事実でこれが本当に辛い.

今年はReactとDockerが現れたのはかなりびっくりしました.

今後に向けて

チーム卒業は今年度卒業して来年から社会人になる人間たちで構成された学生チームでした.我々は学生チームということで今回はかなりチャンスだったのですが,それを逸したことは悲しいです. ただ得るものはすごく多くて,もう既に出ている上位チームの解法であるとか,講評などは非常に勉強になっています.我々もここで折れずに来年はチーム新卒としてISUCON7に参加したいと思います.

メンバーの声

abcangくんの感想です

abcang.hatenablog.com

syusui!!!!!!!!!

改めまして,運営出題者のみなさま,会場提供を始めとしたスポンサー企業のみなさま本当にありがとうございました.ISUCON7期待しています. これはそういえばなんですけど,2015年の夏にあったISUCON夏期講習で勉強になったことが今回かなり生きたのでLINEのみなさま後輩たちのためにも続けてほしいです.

インターネットの様子

悔しい

*1:思えばここが失敗だった