web-dev-qa-db-ja.com

Nginxはすべてのリクエストに対してファイルを圧縮しますか? (gzip_onを使用)

これが私の最初の質問です。私の英語が下手で失礼します。

ページの速度を向上させる方法を調査していたところ、nginxのgzip設定について知りました。

以下はnginx.confからの私のgzip設定です

gzip on;
gzip_disable "msie6";

gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_comp_level 5;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript application/vnd.    ms-fontobject application/x-font-ttf font/opentype image/svg+xml image/x-icon
gunzip on;
gzip_static on;

これらの設定では、nginxは元のファイルの代わりに.gz圧縮ファイルを提供します(存在する場合)。そうでない場合、nginxはユーザーが要求したときにそれらを圧縮します。私が間違っている場合は私を修正してください、私は正しい軌道に乗っていますか?

私の質問は:新しいユーザーが要求するたびにNginxは元のファイルを圧縮しますか?それとも、それらの圧縮ファイルのキャッシュ/保存されたバージョンを提供しますか?

例:これらのファイルは静的フォルダーにあります。

/static/css/main.css
/static/css/main.css.gz
/static/js/main.js
/static/js/main.js.gz
/static/html/index.html

UserAがindex.htmlファイルを要求すると、Nginxはその場でファイルを圧縮しますが、userBが同じindex.htmlファイルを要求した場合、Nginxはファイルを再度圧縮しますか、それともどこかからキャッシュ/保存されたバージョンを提供しますか?

6
Shinebayar G

はいindex.htmファイルがないため、要求されるたびにNginxはindex.html.gzlを圧縮します。

正直に言うと、最近のgzipはそれほどプロセッサに負荷をかけているわけではなく、その場でgzip圧縮(そしてブラウザで解凍)することがよくあります。それはウェブブラウザが非常に得意なことです。

したがって、大量のトラフィックを取得しているのでない限り、ほとんどのWebファイルのオンザフライgzipによるパフォーマンスやCPU負荷への影響に気付かないでしょう。

4
Barry Pollard