#isucon4 予選で惨敗してきた
記事かかないせいで、予選で惨敗してきたブログになりつつあります。
今までどおり、 @iszk, @froncool のチームで。
仕事でつかっているアカウントの ec2 のinstanceが運悪くほぼ全部これにあたり、前日どたばたしていて、全然なにも準備できないまま当日をむかえました。
Amazon Web Services ブログ: EC2メンテナンスアップデートに関して
いや暇だからって準備万端かっていうとそうでもなかったとおもいます。
当日9:20
よし、準備万端、あるいていける場所でやる予定だったので、余裕あるしご飯とかおやつとかかってむかおう!っておもって鞄の中身を最終チェックしていて
「お、おい、macbookの充電ケーブル会社やないかーい!」
と気がつき大慌てで会社に向かいました。私が代表者扱いになっていたので、いろいろ今日の件について運営からメールが来ていたんで、電車内でみんなに共有しながら。
せめて遅れる代わりにとレギュレーションを熟読しながら会場に向かいました。
10:20
遅ればせながらついたので、AWSに関して @froncoolに共有しながら作戦をねる。
10:50
ログをだしつつ、これ、ミドルウェア周りはやるけど、結局内部の実装すくないし、こっからmysqlの処理の最適化しても、最終的に全部メモリにのせちゃうって結論になりそうだし、ってことでそっちを対応することに
12:30
memcachedにlog系を全部のせる方式に一旦実装。ただちょっと動きが微妙でreportエラーのせいでscoreも送信されない状態がつづく。仮ででているscoreはそれなりにあがっていたので、期待は膨らむも「これデバックどうしよう」という焦りのなかでわりと解決しない。
13:30
わりとケアレスなことが多かったことが判明し、泣く。
14:00
一旦休憩。ご飯を食べながら午後の作戦を考える。
14:30
完全にはまったので、書いた本人がデバックしてもたぶんこれ見つかるの時間がかかるよねってことで、@iszkにコードみてもらいながら問題点を横で口頭でいってもらいながら修正
16:00
私のほうでも手直しをしつつ@iszkの方でもいろいろ手直しをして若干安定するが、report結果がずれてscoreが送信されない件が解消されない。デバックは@iszkにまかせて、別ブランチでログインユーザ2万人くらいメモリにもっちまえの実装変更に手をつける
16:30
ログインユーザの件の実装は別ブランチでわりと問題なく完了。
「これはバグなおしてからいれようぜ」ってことで既存のreport結果ずれる件を再度みる
18:00
そろそろ時間がないけどfinishまでどうもっていくかを話しながら作業
18:30
もうこれは運を天に任しひたすらベンチまわしながらworkloadどうするー?とか相談してた。もう残念会をどこでやるかが一番ホットな話題に。
19:00
結局reportをまともに送信できない状態でfinish
19:30
残念会は↓。野崎酒店と同じ系列といえば酒好きならクオリティがわかるかとおもいます。だいぶよかった。
まとめ
バグの原因とかは翌日、翌々日に「は!!!」ってわかったけど、時既におそし。だいぶしょーもなかった。
ただ前回、前々回にくらべたら進歩はしているかな。。。今までミドルウェアの限界までまわせないことが多かったのですが、一応そこは到達した。。。。書いてないけど @froncool が nginxとかサーバ設定周りをなんだかんだとがんがんなおしてくれてていたので。。。。。
もし実装に問題がなければscoreは4万とかいってたので、
敗因はもう私の実力不足としか。次回、次回こそは!
米心が素晴らしいってことが伝われば十分です。
あ、転職して Rubyist に戻りました。