はじめに
以前も Nginx の gzip 設定は行っていました。けれども、引越しに伴い、別にいいか、、、と放置しておりました。
ふと、 PageSpeed Insights を行ってみたところ、 gzip を設定するといいよ! と言われましたので、久しぶりに行ってみることにしました。
なお、改善前の値は、確か 12 くらいで、改善後は 25 でした。
変更後の Nginx 設定
/etx/nginx/nginx.conf
gzip on;
gzip_min_length 1024;
gzip_buffers 40 5k;
gzip_comp_level 5;
gzip_types text/plain
text/css
text/xml
text/javascript
application/json
application/javascript
application/x-javascript
application/xml
application/xml+rss;
gzip_http_version 1.0;
gzip_vary on;
gzip_static on;
gzip_proxied any;
各ディレクティブの意味
gzip
: gzip のオンオフgzip_min_length
: 圧縮が行われるレスポンスの最小のバイト長。バイト長としてはContent- Length ヘッダの値が用いられるgzip_buffers
: レスポンスの圧縮に用いられるバッファ数とサイズを指定するgzip_comp_level
: gzip の圧縮レベル(1 ~ 9)gzip_types
: デフォルトの text/html 以外に圧縮を行う MIME タイプgzip_http_version
: 圧縮が行われるリクエストの最低の HTTP バージョン gzip_proxied リクエストがプロキシを経由していた場合に圧縮を行うかgzip_vary
: gzipが有効な場合に、Vary: Accept-Encodingレスポンスヘッダの有効化、 無効化を制御するgzip_static
: 圧縮済みのファイルを gzip 圧縮をサポート するクライアントに直接送信するかどうか のチェックを有効にするgzip_proxied
: リクエストがプロキシを経由していた場合に圧縮を行うかどうかを制御する。 any: リクエストにViaヘッダがあった場合はすべて圧縮を行う
なお、変更前は #gzip on;
と、 gzip はオフとなっておりました。
おわりに
改善後の PageSpeed Insights 結果は、 100 点満点中の 25 ですので、上を見れば大したことはありません。
けれども、 WordPress を載せているサーバのスペックは非常に低いですし、実際に使用しての感覚として悪くないと感じておりますので、これでよいか、と思っています。
これ以上を求めるのであれば、資金を投入してサーバのスペックを上げるしかないのでは? と思います。
参考にした書籍です。
- マスタリングNginx | Dimitri Aivaliotis, 高橋 基信 |本 | 通販 | Amazon
- 5.3 リバースプロキシのパフォーマンスチューニング 5.3.3 圧縮
- nginx実践ガイド impress top gearシリーズ | 渡辺高志 | コンピュータ・IT | Kindleストア | Amazon
- 第8章 性能向上 8-4
転送量の削減による性能向上
- 第8章 性能向上 8-4
以上です。