gzip_window

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

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

Описание

Директива gzip_window настраивает максимальный размер скользящего окна, используемого алгоритмом сжатия zlib, когда в NGINX включено сжатие Gzip. Она указывает, какую часть входных данных можно хранить в памяти при сжатии ответа. Больший размер окна может повысить эффективность сжатия, позволяя ссылаться на больше данных при обработке каждого байта выходных данных, что приводит к лучшим коэффициентам сжатия. Однако это также увеличивает использование памяти рабочими процессами NGINX, что может быть нежелательно в средах с ограниченными ресурсами памяти. Эта директива принимает один аргумент, который должен быть указан в bytes, то есть, возможно, его нужно задать как числовое значение без суффикса. При установке директивы включается использование указанного размера окна для сжатия Gzip, что повышает общую производительность и эффективность доставки контента по HTTP. Если директива не настроена, будет применена настройка по умолчанию, которая, в зависимости от типа и размера сжимаемого контента, может не полностью задействовать потенциал алгоритма Gzip. На практике пользователям следует тщательно оценивать объём памяти сервера перед увеличением этого значения, особенно в условиях высокой нагрузки или при обработке больших ответов, так как чрезмерное выделение памяти может привести к её исчерпанию и ухудшению производительности.

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

gzip on;
 gzip_window 32k;  
 location / {
     gzip_types text/plain text/css application/json; 
     # any other configurations 
 }

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

Не все клиенты могут поддерживать разные уровни сжатия gzip, поэтому после внесения изменений важно протестировать совместимость клиентов.