eval_buffer_size

Директива eval_buffer_size задаёт максимальный размер буфера для захвата тел ответов в модуле eval NGINX, позволяя контролировать хранение данных при проксировании или при ответах memcached.

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

Описание

Директива eval_buffer_size настраивает максимальный размер буфера, используемого модулем eval NGINX для захвата тел ответов из subrequests, выполняемых в конфигурации сервера. При применении этой директивы ограничивается размер буферизованных данных, и ответы, превышающие указанный предел, будут усечены. Это помогает эффективно управлять использованием памяти при работе с потенциально большими ответами, поскольку данные обычно хранятся в памяти.

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

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

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

location = /example {
    eval_buffer_size 2k;
    eval $response {
        proxy_pass http://backend;
    }
    # Further processing can occur here using the $response variable.
}

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

Изменения параметра eval_buffer_size могут потребовать перезагрузки сервера NGINX, чтобы вступить в силу, в зависимости от контекста его использования.

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