wasm_socket_connect_timeout
Задаёт время ожидания для установления сокетных подключений WebAssembly в NGINX.
Описание
wasm_socket_connect_timeout директива задаёт максимальное время ожидания установления сокетного подключения WebAssembly (Wasm) в NGINX при использовании возможности Proxy-Wasm. Эта директива применима в контекстах http, server и location, что позволяет гибко настраивать её в различных частях конфигурации сервера. Ограничение времени ожидания предотвращает «зависание» подключений, устанавливая предел, что особенно полезно в условиях высокой нагрузки или при медленных сетевых соединениях.
Параметром директивы является значение времени, которое можно задать в секундах или в формате времени, например 60s, 1m и т.д. Когда указанный период ожидания истекает, а подключение не было установлено, возникает ошибка, позволяющая NGINX продолжить работу без бесконечной блокировки. Это важно для поддержания отзывчивости сервиса, особенно при использовании модулей WebAssembly для таких задач, как шлюзы API или обработка на периферии.
Вы также можете задавать разные значения таймаута в зависимости от ожидаемой производительности вашего приложения и характеристик операций, которые вы собираетесь выполнять через WebAssembly. Настройка этой директивы помогает найти баланс между оперативностью отклика и реальной задержкой установления соединения, вызванной сетевыми условиями.
Пример конфига
wasm {
module my_filter /path/to/filter.wasm;
}
http {
wasm_socket_connect_timeout 30s;
server {
listen 9000;
location / {
proxy_wasm my_filter;
proxy_pass http://backend;
}
}
}Убедитесь, что значение таймаута соответствует ожиданиям вашего приложения относительно подключений; слишком короткое значение может привести к ошибкам соединения.
Использование слишком больших значений таймаута может привести к ухудшению пользовательского опыта из‑за медленных ответов.