js_fetch_max_response_buffer_size
Устанавливает максимальный размер буфера для ответов в динамических модулях NGINX njs.
Описание
Директива 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
}
}Установка размера буфера слишком низким может привести к усечённым ответам.
Не все контексты или конфигурации могут поддерживать эту директиву, убедитесь в совместимости.
Если не задано, поведение по умолчанию может привести к чрезмерному использованию памяти при больших ответах.