結論
yancya がやっていたこと
結局、あんまりコミットできていなくて、N+1 も解消漏れがあったのを最後の方で気づいて着手したものの、書き終わったのは Time up 後だった
競技中の様子
敗因
モリスさんとジョーカーさんの blog の方に詳細に書いてあるけど、アイコンへのリクエストに対して適切に(適切に、とは) 304 を返せなくて回線が詰まってしまったため、ベンチマーカーの負荷レベルが上がりきらなくて、スコアも上がらなかったという事。最終的にスコアは 90,000 〜 110,000 くらいにとどまった
反省
手が遅かった
振り返ってみると、わしがやってたことって遅くとも最初の3〜4時間で終えてないといけないくらいの量だったので、単純に手が遅いなと思った。他のメンバーのコミットで手元の環境が動かなくなってしまったりしてハマったりしてたけど、なんか場がピリピリしてたので気軽に「助けて」と言いづらかったのが結構辛かった
WEB の事に疎かった
競技が終わって、他のチームから画像の件について「こういうことだったんだよ」って言われれば「あー」とはなるんだけど、普段、そんなにタイトな WEB サービスを運営していないので、そういうことに自ら気づくという力が本当に無いなと実感した
やんちゃが足りなかった
なんかベンチマークを実行するときに「負荷をかけるサーバーを3つの中からいくつでも選択して下さい」って書いてあるのを見て「ということはロードバランサーとかでアクセスするのかな」と思ったんだけど、特に他のメンバーにその話題を振ったりしなかった。なんか忙しそうだったし。結果論でしか無いけど、もしこんな感じの雑談をしていたら「ロードバランサーね、うーん、あー、CDN!?」みたいになったかもしれない
画像を各サーバーに配るときの話をしていたとき「rsync とかでやるのかな」と思ったんだけど言ってなくて、もし言ってたら「あー、timestamp あー」ってなったかもしれない
ベンチマークの実行が結構サクサクできて快適だったし、何の用も無いのに適当にバンバン実行して、たまにふざけてサーバーを1つだけ選択してベンチを流してみたりしてみれば良かった。これも結果論だけど、もしも1サーバーだけを対象に実行していたら、画像ファイルが1種類につき1ファイルしかないので、304 をモリモリ返す事が出来て、3台の時よりもスコアが上がったかもしれない。そこで「あー?あー!」って気づけたかもしれなかった
チームに誘われたとき「普段 Asakusa.rb で一緒だし、慣れたメンバーで作業するのが良いんだよ。だから来て」と言われて参加したのに、実際競技が始まったら、借りてきた猫のようになってしまって「少しでも、わしができる SQL について貢献しよう」みたいな感じで小さくまとまってしまった。6時間経過時点くらいで「ここらで30分くらいビール休憩しようぜー」とか言えれば、何かが変わったかもしれないとか、色々考えてしまう
思ったことをバンバン口に出していくことが必要だったと、悔やんでも悔やみきれない。これは開発現場に限らず、今までの人生、いろんな局面を振り返ってきて、散々身に染みてきたことのはずだったのに生かせていなくて辛い。「思ったことをバンバン口に出していく」これをさらに心に刻む yancya であった
しめくくり
ISUCON 運営の皆様、大変勉強になりました。良い機会をつくって頂き、ありがとうございました
tagomoris さん、joker1007 さん、大変楽しい会に誘って頂き、ありがとうございました。楽しかったし、勉強になりました