upload_range_header_buffer_size

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

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

Описание

upload_range_header_buffer_size играет ключевую роль в управлении тем, как сервер NGINX обрабатывает заголовки диапазонов в многокомпонентных загрузках файлов. Когда клиент загружает файлы, он может указывать заголовки Content-Range, что позволяет возобновлять загрузку или делить её на более мелкие части. Эта директива задаёт размер буфера, в котором хранятся эти заголовки диапазонов; это важно для эффективной обработки больших загрузок или когда несколько частей загружаются последовательно.

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

Эта директива тесно взаимодействует с механизмами обработки загрузок файлов, предоставляемыми модулем загрузки NGINX. Обеспечение адекватного размера буфера позволяет обработчикам загрузок файлов, таким как upload_pass, эффективнее управлять multipart-данными, что приводит к повышению производительности и надёжности операций загрузки файлов. Крайне важно, чтобы пользователи тестировали и измеряли размер буфера в своих конкретных настройках для оптимизации использования ресурсов и производительности загрузок.

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

http {
    upload_range_header_buffer_size 16k;
}

Установка этого значения на слишком низком уровне может привести к сбоям при загрузке из-за недостаточного buffer size для range headers.

Увеличение buffer size будет потреблять больше памяти, что может быть нежелательно в high concurrency scenarios.

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