この差分のためにCPU負荷を上げる意味がどれだけあるか・・・ということです。このため一般的にCPUにあまり負荷をかけないためにレベル1あるいは2を使うことが多いです。22行目:圧縮対象とするmimeタイプを設定しています。対する圧縮について制限をかけています。対する圧縮について制限を全て解除しています。対して圧縮しないように設定しています。37行目:画像ファイルに関しては、圧縮しないように設定しています。ヘッダー情報を画像ファイル以外では、出力するように設定しています。先のApacheでの例をnginxで実現するには、以下のように設定ファイル(/etc/nginx/nginx.conf)を編集します。}}この色の箇所が編集箇所で、gzipの設定を行っている箇所になります。やっている内容は、ほぼ同じです。1.0;gzipを使うときのHTTPバージョンです。1.1を指定することもできますが、ここは1.0が無難です。;gzipの対象になるファイル形式をmimeタイプで指定します。[1-6]\.”;gzipの非対象にする。“Mozilla/4”;gzipの非対象にする。1;gzipの圧縮レベルを1に設定しています。any;Proxy経由での要求でもgzipの対象とするように設定しています。on;をしおくべきです。Proxyでは、このVaryヘッダ情報から、コンテンツの振り分け作業を行うことがあります。情報を付加するように設定しています。この情報は、gzip_disableが非対象となった場合でも出力されてしまいます。本来は、非対象となった場合は出力しない、あるいは、gzip_disableのようにエージェント情報などで切り分けられるなどの処置が必要だと思います。ここは、gzip_proxiedもgzip_varyもoffが無難かもしれません。8k;gzipで使うバッファのサイズを設定しています。メモリが常時利用されることになります。1100;gzip対象とする最小ファイルサイズを設定します。以下の場合は、圧縮しないことになります。apacheでは設定していないような、あまり必要のない設定もあります。ここでは、nginxのgzipの設定がメインテーマなので、できる限り細かく設定してみました。gzipが正しく動作しているか確認してみるここまで、gzipの設定を行ってみました。ここでは、この設定が正しく動作しているか確認してみましょう。確認の仕方は、ロギングによる確認とtelnetによる確認があります。ともに上記で既に設定しています。ここでは、telnetで確認してみましょう。telnetでウェブサーバーへ接続してHTTPヘッダ情報を取得します。そのヘッダ情報を確認することでgzipが正しく動作しているか確認できます。gzip赤部分が、telnetでのコマンドイメージです。改行(return)を意味します。青部分が、ヘッダ内でのgzipに関する情報です。この情報はAccept-Encodingをクライアント(ブラウザ)から受けた情報ですよという意味。Varyは変わるという意味なので、Accept-Encodingの値によってコンテンツが変わりますよという意味。この情報はgzipで圧縮されていますという意味。圧縮後のこの情報の長さ(バイト数)の意味。6にしたときの様子です。そのため、この情報がgzipで圧縮されていないことを意味します。Accept-Encodingは、常に出力されることに注意してください。バグでは無いようなのですが、apacheでは、gzipを使っていない場合は、Varyの出力もされませんが、nginxは、そのまま出力されます。3698が出力されています。gzipを使った場合、nginxでは、Content-Lengthが出力されないことに注意してください。apacheでは、gzipを使用した場合でもgzipで圧縮されたバイト数がContent-Lengthで出力されます。Content-Lengthが出力されないからと言っても問題になることは、それほど無いかもしれません。ほとんどの場合、クライアントでは、このContent-Lengthによってソケットを閉じるかどうかの判断をしているに過ぎないと思われるので、それほどの影響がでることは無いでしょう。実際にFireFox,Operaなどでは、受信完了までの待ち時間が余分に長くなると言われています。数100ms程度遅延するらしいです。)このようにnginxでもgzipが使えます。良くも悪くも高速化を意識している感じを受けます。Content-Lengthは、gzipでは出力されないなど、出力する情報を必要最小限に絞って、かつ高速にリアクションできるような流れになっているのがうかがえますね。apacheに慣れている方には、apacheとの違いに戸惑うかもしれませんね。自分は、今でもこれらの違いが気になったりします。北市真さんのコメントも参考にされると良いと思います。)また、telnetでもある程度動作しているか確認できるので、設定を終えたら、自分の設定が正しいかどうか確認することをおすすめします。適用となっていませんか?このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない、検索ができないことがあります。AM有用な記事をありがとうございます。参考にさせていただきます。この情報はAccept-Encodingをクライアント(ブラウザ)から受けた情報ですよという意味。ありますが、Varyは、Accept-Encodingの値によってコンテンツが変わる(gzipされたりされなかったり)ので、その内容によってキャッシュを使い分けなさい(gzip版のキャッシュを持っていても、Accept-Encodingがgzipではない時にはキャッシュを使わずまたリクエストしなさい)という事ではないでしょうか。(参考:http://www.studyinghttp.net/header#Vary)とすると、Nginxの挙動は妥当に思えます。PM北市真さんコメントありがとうございます、管理人です。語彙力、文章能力のない自分が情けないです。Accept-Encodingの意味あいについては、修正させてもらいました。何かありましたらコメントいただけるとありがたいです。無効となっていませんか?このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない、検索ができないことがあります。メールアドレスが公開されることはありません。印の項目は、入力が必要な項目です。(SoftwareDesign別冊)に寄稿しました。「ログを読む技術」の再掲載になります。8月号を見逃された方は、是非、ご一読くださいませ。8月号に寄稿しました。「ログを読む技術」について寄稿しました。興味のある方は、是非、ご一読くださいませ。公式サイト(http://www.genymotion.com/)には、以下のように記述があります。仮想マシンへインストールし、色々と試してきました。