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

おにやんま - ISUCON5予選敗退してくやしい話 #isucon

2回めの isucon は @karupanerura@silvers のおふたりと参加してきました。

チームおにやんまの活動

https://instagram.com/p/8Es-fjLKqA/


やったこととふりかえり

3人のだいたいの住み分けは、

  • @karupanerura middleware まわり
  • @ar_tama アプリケーションまわり
  • @silver_s SQL まわり

みたいにざっくり切り分けてとりかかりました。

自分のだいたいの動きとしては、

12:00

とりあえず Perl で動かす→ベンチ叩いてみる→ slowlog と accees_log を集計

12:30

いったん手を止めて方針を相談(自分はとりあえず GET '/' のクエリをなんとかすることにする)

13:00

日記のタイトルと本文の分離をはかりたいがデータ多すぎて alter に時間かかりそうなので尻込みする
(ふりかえり)SQL力が低くて初期データ構造を変更しつつ alter するのを思いつかなかった

13:30

とりあえず get_user とか is_friend とかを使わず join しまくる
(ふりかえり)改修を細かい単位で反映させてベンチ取ればよかった

14:30

relations が双方向 insert されていたので friend まわりのクエリ書き換え
このあたりからしばらく comments_of_friends にハマりまくる

16:00

comments_of_friends の他をなんとかして、
しるばす氏(index 担当)かるぱ氏(nginx + my.cnf 担当)の作業ぶんとマージして 5000 点を超える
=> このへんでかるぱ氏が手が空いてきたとのことだったので footprints まわりと comments_of_friends をお願いする
=> entries あたりに手を出し始める(そしてまた焦ってハマる)
(ふりかえり)そこまでベンチに影響を与えていた部分ではなかったのでとっとと参照系のキャッシュ導入とかすればよかった


というかんじで、前半はわりとスコアアップに寄与できたんですが、後半はノーバリューすぎてつらいかんじでした。
詳しくは反省会にまとまっていますが、余裕をなくさないことがとにかく大事だなと痛感…。
それぞれのアプローチとしてはあまり外していなかったはずなので、次回はうまく各々の役割を分担・遂行できるように進めていきたいです。


ベンチマークが公開されたら(されるのかな?)さっそく復習したいくらいには各人くやしさが募っているので、
来年までキープできるようになにかしらアクションしていけたらと思います。
運営・出題のみなさま本当にありがとうございました!!

メンバーのエントリ

ofsilvers.hatenablog.com

おまけ

f:id:ar_tama:20150928224044p:plain