近所のエクセルシオールでアイスカフェラテとビッグハムサンドを食って気合を入れる。予選突破したら同僚に自慢しようとか考える。10時とりあえず環境セットアップ。Availableの意味がわからずちょっと時間を無駄にする11時ざっとルーティングやらDBやらを確認。初期スコアは1500くらい。みたかんじデータを全部メモリに載せれば早そうだけど、再起動時とかを考えるとちょっとあぶないのと、一人なので時間がたりなさそう。普通のチューニングをすることにする。普通にやってもまあまあ早くなりそう。insert(update?)する。これでlogin_logのselectはなくなる。トリガは通常のアプリだと複雑になりがちなのでこれまで使わなかったため、人生初のトリガになった。これくらいシンプルなアプリならトリガでも問題ないだろ、という希望的観測。トリガそのもののパフォーマンスが悪いと死ぬけどまあ~大丈夫・・・だろ。インデックスを調整するがそんなに早くなりそうもないので少しにしておく14時mypageで参照してるデータを全部login時にsessionに入れてmypageでdb読まないようにする。スコアは3000前後であんまり上がってない。1万超えているチームもいて焦るDBアクセス周りは大体こんなもんで、そろそろ静的ファイルをunicornからnginxにしようかな・・・と調べるとログインページとエラーページが全部静的ファイルにできそうなのでレギュレーションを確認。́;ω;`)ウッ...もうダメpすごい絶望的な気分になるがこの設定を成功させないとこれ以上スコアを伸ばすのは難しい。なんとか終わらせたが2時間くらいかかってしまった。スコアは11000くらいで上がったが上位との差は埋まらない。Relicとrack-mini-profilerをはずす。スコアは15000台パスワードハッシュの計算をRubyからMysqlに移してみたがあんまり変化なし。init.shにmysqlのウォームアップを入れるもそんなに変化なし。my.confも少しいじるしかし全然サーバに負荷かからねーな・・・やっぱメモリに全部載せるべきだったのかなーなどと考える18時タイムアップ!結局スコアは15000台で予選通過は5万前後かな?はぁ〜俺って大したことないのかなー・・・意味ねえけどAMI提出すっか・・・辛い・・・同僚に自慢できない・・・ここでworkloadというパラメータの存在に気づくためしにworkloadを設定してみるとポートが足りないエラーが出るので使えるポートを増やすのとリサイクル設定を入れるworkloadを20くらいにしたら38000くらいになった。isuconは一人だと難しいと聞いていたが単純に時間が足りないので本当なんだということがわかった。ログ出力消したりnginxとunicornのパラメータ詰めたりしたらもうちょい上がりそうだけど時間が足りない。感想いろいろあったが楽しかった。NewRelicは良い。読者になる検索リンクはてなブログブログをはじめる週刊はてなブログはてなブログPro最新記事isucon4の予選に参加してみたはてなの近藤さんの自転車が盗まれたらしい(自転車の盗難対策について)ロードバイク買ったロードバイク買うぞ!Bromptonのフロントにある反射板をはずしてかしこいランプを取り付ける月別アーカイブはてなブログをはじめよう!flytalesさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。