js_fetch_max_response_buffer_size

Устанавливает максимальный размер буфера для ответов в динамических модулях NGINX njs.

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

Описание

Директива js_fetch_max_response_buffer_size используется для настройки максимального размера буфера ответа при получении данных с помощью модуля njs (JavaScript) в NGINX. Эта директива необходима для управления использованием памяти при операциях, связанных с большими объёмами данных, а именно когда сервер должен обрабатывать большие тела ответов от upstream-серверов или при внутренних запросах внутри выполнения серверной JavaScript-логики. Ограничивая максимальный размер буфера, пользователи могут гарантировать, что их приложения не будут потреблять избыточную память и смогут поддерживать стабильную производительность под нагрузкой.

Директива принимает один аргумент, который задаёт размер буфера. Значение может быть указано в различных форматах, например в байтах (например, 1m, 512k, 128 и т.д.). Если размер ответа превышает заданный предел, NGINX усечёт ответ до настроенного лимита, что предотвращает возможный переполнение памяти и обеспечивает отзывчивость сервера. Правильная настройка размера крайне важна: слишком маленькое значение может привести к неполным ответам, тогда как слишком большое — к избыточному потреблению памяти.

Директива js_fetch_max_response_buffer_size может быть установлена в контекстах stream и stream server, которые обычно используются для TCP/UDP-трафика и предоставляют возможности применения конфигураций NGINX на транспортном уровне. Правильное управление этой директивой имеет решающее значение для оптимизации производительности и распределения ресурсов, особенно в средах с переменным размером ответов или при высокой нагрузке.

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

stream {
    js_fetch_max_response_buffer_size 1m;
    
    server {
        # other server directives
    }
}

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

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

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

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