masalibの日記

システム開発、運用と猫の写真ブログです

負荷テストする場合はHTMLの圧縮や出力するバイト数も気にするべき

パフォーマンステストをやっていたのですが 秒間100を超えたあたりから WEBサーバーのCPUが悲鳴をあげました

サービスの重いページでの検証だったので 仕方がないかなと思っていた ただDBに接続して出力する簡単なプログラムだと さばいてくれた。

いろいろ試した所、HTMLの圧縮作業がCPU使用率上昇の原因だった

mod_deflate

apacheには出力するときに圧縮して送信してくれる機能の mod_deflateが原因だった

モジュールは DEFLATE 出力フィルタを提供します。 これはサーバからの出力を、ネットワークを 通してクライアントに送る前に圧縮することを可能にします。

system.hideandseek.co.jp

パフォーマンスがよくなると思って設定したが まさか悪くなるとは、夢々思わなかった

修正前

重いページのHTML出力バイト数:18,000バイト
 apr_pollset_poll: The timeout specified has expired (70007)というエラーがでる
簡単なページのHTML出力バイト数:1,000バイト
 → さばける

修正後

重いページのHTML出力バイト数:18,000バイト
 → さばける
簡単なページのHTML出力バイト数:1,000バイト
 → さばける

HTMLの圧縮をするべきなのか考えてやるべきだった。

関係ないけどきなこちゃん

でんぐり返しをしてアピールをする所がかわいい