image_filter_buffer

Директива `image_filter_buffer` задаёт размер буфера, используемого для обработки изображений в NGINX.

Синтаксисimage_filter_buffer size;
По умолчанию4k
Контекстhttp, server, location
Аргументы1

Описание

Директива image_filter_buffer настраивает объём памяти, выделяемой для обработки изображений при использовании модуля фильтра изображений NGINX. Эта директива важна при работе с крупными изображениями, так как позволяет эффективно их обрабатывать и избегать чрезмерного выделения памяти, что могло бы привести к снижению производительности. Размер буфера позволяет веб‑серверу NGINX временно удерживать данные изображения в памяти при выполнении операций, таких как изменение размера, обрезка или модификация изображений, перед их отправкой клиентам.

Эту директиву можно задавать в контекстах http, server или location. При указании она принимает один аргумент, обозначающий размер буфера в байтах. Если указанный размер недостаточен для обработки изображения, NGINX может вернуть ошибку или не суметь корректно обработать изображение. Поэтому важно убедиться, что буфер настроен соответствующим образом в зависимости от размера и типа изображений, которые обслуживаются или обрабатываются.

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

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

location /images/ {
    image_filter buffer 16k;
    image_filter resize 200x200;
}

Использование слишком малого буфера может привести к ошибкам при обработке больших изображений.

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

← Ко всем директивам