wasm_response_body_buffers

Директива `wasm_response_body_buffers` задаёт количество и размер буферов, используемых для тела ответа модулем NGINX Proxy-Wasm.

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

Описание

Директива wasm_response_body_buffers используется в конфигурациях NGINX для управления распределением памяти при сохранении тел ответов при использовании модулей WebAssembly через интерфейс Proxy-Wasm. Директива принимает два аргумента: первый задаёт количество буферов, второй — размер каждого буфера. Это важно для настройки производительности, особенно при работе в сценариях с высокой пропускной способностью или при больших размерах ответов, поскольку позволяет разработчикам контролировать, сколько памяти резервируется для ответов, обрабатываемых Wasm-модулями.

Когда директива задана, NGINX выделяет указанные буферы во время обработки ответов. Буферы используются для хранения сырых данных ответа до того, как ответ будет отправлен клиенту или дополнительно обработан Wasm-модулем. Правильная настройка этой директивы может предотвратить проблемы, связанные с памятью, такие как переполнение буфера, и оптимизировать обработку ответов, обеспечивая эффективную и стабильную производительность приложения под нагрузкой. По умолчанию память выделяется по мере необходимости, но явная установка этих значений позволяет получить более предсказуемое использование ресурсов, что важно в средах с ограниченными ресурсами или в сценариях, где размеры ответов могут значительно варьироваться.

В целом, настроив wasm_response_body_buffers, администраторы NGINX могут обеспечить эффективное управление памятью для приложений с поддержкой Wasm, способствуя лучшей производительности и надёжности.

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

http {
    wasm_response_body_buffers 8 16k;
    server {
        listen 9000;
        location / {
            proxy_pass http://backend;
            proxy_wasm my_module;
        }
    }
}

Неправильная настройка buffer size на слишком малое значение может привести к усечённым ответам.

Установка чрезмерного количества buffers может значительно увеличить memory usage.

Если proxy_wasm не включён в location block, эта directive не вступит в силу.

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