{ 2013.10.8 }

ISUCON3のオンライン予選にFulabで参加してきました

    はてなブックマーク - ISUCON3のオンライン予選にFulabで参加してきました
    このエントリーをはてなブックマークに追加

    Fusic 平田です。
    あーだこーだ言ったりやったりしている間に当日を迎えてしまいましたので、予選に参加してきました。
    今回はヌーラボさんのお二人(@dragon3さん, @tksmdさん)と組ませてもらい、チーム名はFusic x nulab = Fulabに決定。

    ちなみに最終スコアは

    で、もう一歩のところだったのかなー1 と思われます。
    ※ 2013/10/09 20:00追記: 繰り上がり当選してました!

    だいたい時系列にやったことを並べると、

    前々日にSkypeでざっくり作戦会議

    ・まあPerlかなーとかvarnish使うかなーとか
    ・台風で予定狂いそうだったので3人で祈る

    当日朝

    ・無事3人揃って参加可能に
    ・ヌーラボさんにお邪魔して、環境準備とか
     ・TV会議システムで京都のtksmdさんとやり取り
      ・超スムーズでうらやましくなる
     ・backlogのプロジェクト立てたり、公開鍵渡したり
     ・他にチャットはtypetalk、メモはEtherPad
      ・とか書いてたら普通にヌーラボさんのプロダクツ紹介になっていたことに自分で驚いた

    開始

    ・とりあえず動かして初期スコア確認(Perlで800くらいだった)
    ・皆でいろいろ覗く
    ・とりあえずis_private邪魔だなーとかmy.cnfないなーとかそういう話

    11:00ごろ作戦会議

    ・ちゃっちゃとvarnish立てよう
    ・DBのインデックスとかクエリとか見直さないとね
    ・なんとなくフロント/アプリ/DBで役割分担

    ~13:00くらいまで

    ・さくっと2000くらいまでは行って、TOP5くらいには入っていそうなのを確認
    ・その後も見直しつつベンチ回す
    ・やっぱMySQL重いしCPU食ってるのがなかなか落ち着かない
    ・このへんでmarkdownの生成周りをどうにか対処しないとなーという話に
    ・is_private=0が邪魔なので、memos_publicテーブル作って、SQLのWHERE句に出てこないよう改修開始

    ~16:00くらいまで

    ・じりじり順位落としてツライ
    ・memcacheに乗せられるものを徐々に乗せる方向に
    ・並行してmarkdownの処理もキャッシュ作って乗せたりする方向に対応
    ・workloadを上げてみて、5くらいで一番スコア出たのを確認
    ・いくつか罠を見つけたので、引き続き罠探したり
    ・varnish側でgzip切ったのも多分この辺

    ~18:00

    ・MySQLの設定変えたらdiskfullになるとか
    ・markdown周りのキャッシュが効きだしてスコアがまた伸び始める
    ・他もいろいろmemcacheに乗せまくる
    ・どうもvarnishのキャッシュが乗せきれてないのを対処再開するも時間切れ

    といった感じでした。
    他のチームのやったことを見る限り、アプローチはだいたい間違ってなかったのかなーと。
    いくつか効果出そうなところで手をつけきれなかったりとか、フロントでうまくさばけていれば2 もっとスコア伸ばせたなーとか、その辺でいくらかずつ足りなかったようです。

    開始から終了まで、ずっと楽しかったです。
    ぜひ次回があればまた参加したいですね。
    主催の皆様、本当にありがとうございました。ぺこりぺこり。

    1. 暫定の予選突破ラインが8700くらいだったようで、本当にあと一歩でした。。。 []
    2. varnishでスコア激伸びした!てのも見かけるので、ブレークスルー起こせなかったのが心残り []

    Comments are closed.