日記+コメント付きブックマーク+他人にも役に立つかもしれない情報など。
(更新情報: RSS(ツッコミ付き) / RSS(ツッコミ抜き) / LIRS)
- p (01/03)
- Thiramil (10/26)
- 久々にいまむらを食べたい通りすがり (09/28)
- Fluxadir (05/16)
- Antiprestin (11/08)
2005/01/22
_ [日記/blog] tDiary 高負荷対策
先月、Referer Spammer からの DoS 攻撃を回避する設定を行ったのも空しく、最近黒猫の負荷上がりまくりだよウワァァン!ヽ(`Д´)ノ ということで、再度 tDiary の負荷軽減を試みる。
現況の測定とテスト
まず、黒猫で tDiary を運用している漏れとりそたんのページの遅さを測定。(ab -n 100 -c 5 $URI によるチェック)
アドレス | リクエスト/秒 | 秒/リクエスト |
---|---|---|
http://pmakino.jp/tdiary/ | 0.84 | 1183.781 |
http://rxh.jp/diary/ | 0.16 | 6305.641 |
うはww重杉wwwww 特にりそたん1アクセス6秒は酷すぎwwwww
さて、どれがボトルネックになっているか、http://pmakino.jp/tdiary/ にていくつか条件変えてテストしてみた。
変更点 | リクエスト/秒 | 秒/リクエスト |
---|---|---|
Anti Referer SPAM プラグインを外す | 0.87 | 1146.447 |
さらに75行記述してあったリンク元置換リストを空にする | 0.86 | 1160.476 |
さらにリンク元表示機能を切る | 2.68 | 372.446 |
さらにプラグインを全部オフにする | 2.56 | 390.465 |
リンク元表示機能を切ることによって約3倍高速化し、それ以外の変更はほとんどパフォーマンスに影響しないことがわかった。
というわけで、同様に http://rxh.jp/diary/ もリンク元表示機能をオフにすると、
リクエスト/秒 | 秒/リクエスト |
---|---|
1.26 | 796.056 |
約8倍の高速化。
…というわけで、リンク元表示機能をオフにすれば状況はかなり改善されることが期待される。
結果まとめ
今回の改善結果をまとめると、
アドレス | リクエスト/秒 (改善前) | リクエスト/秒 (改善後) | 高速化 |
---|---|---|---|
http://pmakino.jp/tdiary/ | 0.84 | 2.68 | 319% |
http://rxh.jp/diary/ | 0.16 | 1.26 | 788% |
ということになる。
次の対策
これで様子を見てもダメなら以下の対策が考えられる。
- mod_ruby を使う → tDiary が重い理由は、Ruby の起動やスクリプトの Parse にかかる時間よりも、実際にデータをいじっている部分の方が大きそうなので効果薄そう & Apache が太るのでメモリが心配
- 負荷対策:静的 HTML 化@tmaeda 日記に習って静的なキャッシュに転送する → 絶大な効果が期待できるがリンク元を記録する機能が使えなくなる (自分が MT ではなく tDiary を使っている理由の一つがリンク元関連機能なのでできるだけやりたくない)
- tDiary のデータをファイルではなく Postgres 等の DBMS に格納する dbi_io プラグインを導入する