upload_buffer_size

Задает размер буфера, используемого при обработке загрузки файлов в NGINX.

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

Описание

Директива upload_buffer_size в NGINX задаёт размер буфера, используемого для чтения данных загруженного файла при обработке загрузок через 'multipart/form-data'. Эта директива является частью NGINX upload module, который поддерживает загрузку файлов и обработку каждого файла в запросе отдельно. Регулируя размер буфера, вы можете оптимизировать процесс загрузки, особенно для больших файлов, так как он определяет, какое количество данных временно хранится в памяти перед записью на диск или дальнейшей обработкой.

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

Эффективное использование директивы upload_buffer_size достигается в сочетании с другими настройками, такими как upload_store, который определяет, где хранить загруженные файлы, и upload_pass, который указывает, как обрабатывать запрос после загрузки файла. Комбинирование этих директив позволяет обеспечить эффективную обработку и управление загрузками.

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

location /upload {
    upload_buffer_size 16k;
    upload_pass /upload_handler;
    upload_store /var/uploads;
}

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

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

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