この記事の概要
最近サイトの表示が重たい。webサーバーの問題か、IncludeEXでphp+parsedしすぎか、DBへのアクセスが多すぎか。大丈夫なときはすっと出てくれるのでとりあえずサーバーのせいに??
で、HTMLをブラウザに転送する際に圧縮してくれる、帯域幅にやさしいNP_GZipを入れてみました。これによってHTMLの転送量が1/3~1/4になります。 (でもこれでこのサイトが軽くなるかというと違うけど)
インストールは問題なし。でも確認サイトにアクセスしてみるとGZIPされてない。プラグインのイベント順の問題かと思って管理画面のリストの上部に持ってくけど変わらず。
原因はPHP設定のほうでした。
php_flag output_buffering Off
と.htaccessに明記してやると成功。ただしOffで問題のない環境、つまり内部エンコーディングから出力を(output_buffering + mb_output_handlerで)別の文字コードに変換してたりしない環境であることが条件ですが。
これはVer2.0からRSS出力に対して圧縮をかけないようチェックしてるところが逆にネックになっていたらしい(トップレベルでバッファリングしてる場合のみGZIPする、という判定部分)。