gzip_comp_level

Директива gzip_comp_level задаёт уровень сжатия для кодирования содержимого gzip в NGINX. — NGINX HTTP Core

gzip_comp_level
httpserverlocation
Синтаксисgzip_comp_level level;
По умолчанию1
Контекстhttp, server, location
МодульNGINX HTTP Core
Аргументы1

Описание

Директива `gzip_comp_level` внутри NGINX HTTP Core module позволяет администраторам указать уровень сжатия, применяемого при отдаче содержимого, закодированного с помощью gzip. Допустимые значения находятся в диапазоне от 1 до 9, где 1 означает наименьшее сжатие (и наивысшую скорость обработки), а 9 указывает на максимальный уровень сжатия (что более ресурсоёмко для CPU). По умолчанию `gzip_comp_level` установлен в 1, то есть содержимое будет слабо сжиматься. Повышение этого значения улучшает коэффициент сжатия, что может сэкономить трафик; однако это также приводит к увеличению использования CPU в процессе сжатия. Этот компромисс необходимо тщательно учитывать, особенно для сайтов с большим трафиком, где чрезмерная нагрузка на CPU может повлиять на производительность. Кроме того, уровень сжатия применяется только к данным, подходящим для gzip-сжатия, таким как файлы HTML, CSS и JavaScript, как указано в других директивах `gzip`. Эта директива чувствительна к контексту и может быть определена в контекстах `http`, `server` или `location`, что позволяет гибко настраивать поведение в зависимости от конкретных потребностей. Установка её в контексте `http` применит указанный уровень сжатия глобально, тогда как настройки в контекстах `server` или `location` могут переопределять глобальную настройку для более тонкого контроля.

Пример конфига

http {
    gzip on;
    gzip_comp_level 5;
}

Установка слишком высокого уровня может привести к увеличению нагрузки на CPU, что потенциально скажется на производительности сервера.

Не все типы файлов подлежат сжатию gzip; убедитесь, что соответствующие настройки для типов содержимого также настроены.