upload_merge_buffer_size

Устанавливает размер буфера для объединения данных загружаемых файлов при отправке multipart/form-data.

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

Описание

Директива upload_merge_buffer_size в модуле загрузки NGINX задаёт размер буфера, используемого для объединения данных загружаемых файлов. При обработке отправок multipart/form-data, особенно содержащих несколько частей файлов или поддерживающих возобновляемые загрузки, NGINX может временно сохранять и обрабатывать фрагменты загружаемых данных. Процесс объединения гарантирует, что входящие данные корректно отформатированы и собраны перед их обработкой или сохранением. Увеличение размера буфера может повысить производительность за счёт уменьшения частоты перераспределения памяти, возникающего при работе с большими файлами или при множественных одновременных загрузках, однако это также может увеличить объём используемой памяти на соединение.

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

Директива может использоваться в различных контекстах, включая http, server и location, что обеспечивает гибкость конфигурации в соответствии с конкретными потребностями приложения — например, разные требования к загрузкам для разных локаций или серверов.

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

http {
    server {
        location /upload {
            upload_pass /upload_handler;
            upload_merge_buffer_size 2m;
            upload_store /tmp/uploads;
        }
    }
}

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

Директива не вступает в силу, пока рабочие процессы NGINX не будут перезагружены.

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

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