gzip_buffers

Директива gzip_buffers управляет количеством и размером буферов, используемых для gzip-сжатия в NGINX. — NGINX HTTP Core

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

Описание

Директива gzip_buffers задаёт количество и размер буферов, выделяемых для хранения сжатых данных при использовании gzip-сжатия ответов, отправляемых NGINX. Эта директива принимает два параметра: первый задаёт число буферов, а второй — размер каждого буфера. Например, конфигурация `gzip_buffers 16 8k;` означает, что будет выделено 16 буферов по 8 килобайт каждый. Эти буферы используются для хранения сжатого вывода перед отправкой клиенту, и оптимизация этих значений может существенно повлиять на производительность, особенно при высокой нагрузке. Выбор большего размера буфера может уменьшить количество операций записи в выходной поток, что повышает пропускную способность за счёт увеличенного использования памяти. Напротив, меньшие размеры буферов могут привести к более частым операциям записи, но снизить потребление памяти. Важно учитывать, что общий объём буферов также определяется общим количеством выделенной памяти, которое может быть ограничено системными настройками или объёмом памяти, занятой приложением. Неправильная настройка этих значений может привести к неэффективному использованию памяти или узким местам в производительности, особенно при работе с большими ответами или при высоких объёмах трафика.

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

gzip on;
gzip_buffers 16 8k;

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

Снижение количества буферов может вызвать проблемы с производительностью при высокой нагрузке, если ответы большие и требуют больше буферов, чем указано.