isucon
思い出す newrelicをセットしたが、データが表示されない・・・ と思ってたら10minくらいしたら表示された。 初期測定 $ ./benchmarker bench #=> 12:59:08 type:score success:5610 fail:0 score:1212 MySQL 遅いクエリを探す # my.cnf slow_query_log = ON…
ISUCON4 予選を使い遊んでみる。 環境準備 このページにしたがい、準備 newrelic導入 必要な時にサーバ側の負荷状況を知りたいのでインストール さぁ、どこからやるか
インスタンスタイプ変更 GET /icon/ の調査をしようとしたが、他の人と揃えるためにm3.largeに変更 1st: done benchmark: score 2397.84961993462, elapsed 60.322 sec = 39.751 / sec 2nd: done benchmark: score 3071.08949379212, elapsed 61.119 sec = 5…
2回欠席 + 前回書くほどのことなかったのでいきなり (5) に。 newrelicインストール 遊んでみようと 過去の作業を思い出す 上記のような悲惨な状態なので、画像取得部分を見ないとお話にならないという認識だったことを思い出した。 その辺りの対応を開始。 …
セットアップ AMI指定してm3.mediumで起動。m3.mediumでも今やhvmだから大丈夫だろう。 その他作業をし、初期起動をrubyにして最初のベンチ $ carton exec perl bench.pl -d /home/isucon/image_source http://127.0.0.1 2015-06-03T13:39:06 [32439] [INFO]…
(3)は欠席したので1つスキップして(4)へ 初期スキーマを変更 init.sql.gzを変更 (init.sqlとして保存) 32 PRIMARY KEY (`id`), 33 index idx_created_at_id(`created_at`, `id`) -- custom 34 ) ENGINE=InnoDB AUTO_INCREMENT=41176 DEFAULT CHARSET=utf8; 3…
久々に記録。(1) は書き忘れたので存在しない。環境構築は省略。 遅い処理を見つける Apacheログの設定変更 combinedログ設定に処理時間マイクロ秒出力の %D を追加してbenchmarkモードで実行すると、以下のようにログが出力される。 127.0.0.1 - - [07/Apr/…
いじめカッコ悪いよと世間から言われんばかりの制裁を他メンバに受け、触りたくないnode.jsのコードを泣きながら見てた。 }); }); }); }); こういうコード見るだけで気分悪くなるのだが、とりあえずキャッシュ仕込もうと頑張ったけど、最終的に仕込んだサー…
動作確認 ベンチマークを実行 #=> OK 結果: 200 tickets とかその程度。 リバースプロキシ(RP)サーバへ移せるものを移す foreverログでレスポンスサイズを確認 幾つかサイズが重いものがあるのでチェックする。 GET /ticket/1 200 1257ms - 415.87kb GET /…
時間がかかる or 負荷が高いアクセスを探す nginx (RP) log_formatを変更 before log_format '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; after …
構築環境 AWS EC2インスタンス x 1 nginx -> Unicorn (Ruby) -> MySQL memcachedをインストール アプリ getメソッドのhaml処理結果だけをmemcachedに突っ込むように変更 DB クエリキャッシュサイズを増やす (0 -> 16MB) 結果 POST後の値チェックで summary: …