wasm_socket_send_timeout

定义 NGINX 在通过 WebAssembly 套接字连接发送数据时等待的最长时间。

语法wasm_socket_send_timeout time;
默认值none
上下文http, server, location
参数1

说明

wasm_socket_send_timeout 指令为在 NGINX 内通过 WebAssembly(Wasm)套接字发送数据设置超时值。当在数据传输过程中达到该超时时间,如果在指定时间内无法成功发送数据,NGINX 将终止连接并报告错误。此功能在与后端服务进行一致且及时的通信至关重要的场景中尤其有用,并且可以防止在下游服务无响应时资源被无限期占用。

超时值以时间格式指定(例如,"30s" 表示 30 秒),一旦定义,它将适用于在指定的 httpserverlocation 上下文中通过 Wasm 模块建立的所有相关套接字连接。该指令的有效性取决于 Wasm 环境的正确配置及其在给定限制内处理消息的能力,以确保操作不会因缓慢或阻塞的通信而陷入停滞。

通过调整此值,管理员可以在严重依赖 WebAssembly 模块来扩展功能的系统中优化性能和资源管理。适当地调整发送超时有助于控制应用的行为,同时缓解来自缓慢外部连接的潜在瓶颈。

配置示例

http {
    wasm_socket_send_timeout 30s;

    server {
        listen 9000;

        location / {
            proxy_wasm my_filter;
            proxy_pass http://backend;
        }
    }
}

如果设置得过低,可能会导致合法请求不必要地超时,从而导致事务失败。

在调整超时时间时应考虑网络延迟;在高延迟环境中,较短的超时时间可能会影响性能。

← 返回所有指令