Назад | Перейти на главную страницу

Сжимает ли Nginx файлы для каждого запроса? (с gzip_on)

это мой самый первый вопрос, прошу прощения за мой плохой английский.

Я занимался исследованием того, как я могу улучшить скорость моей страницы, и узнал о настройках nginx gzip.

Ниже приведены мои настройки gzip из nginx.conf

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 файл снова или он будет обслуживать кэшированную / сохраненную версию откуда-то?

Да Nginx сжимает index.html каждый раз, когда он запрашивается, так как нет index.html.gz файл.

Честно говоря, в наши дни gzip не очень интенсивно использует процессор, и сжатие на лету (а затем распаковка в браузере) часто является нормой. В этом очень хороши веб-браузеры.

Поэтому, если вы не получаете огромных объемов трафика, вы, вероятно, не заметите никакого влияния на производительность или нагрузку на ЦП из-за сжатия большинства веб-файлов на лету.