grpc_read_timeout
在 NGINX 中为从 gRPC 服务器读取响应设置超时。 — NGINX HTTP Core
grpc_read_timeout
httpserverlocation
语法grpc_read_timeout time;
默认值60s
上下文http, server, location
模块NGINX HTTP Core
参数1
说明
`grpc_read_timeout` 指令定义了在建立连接后 NGINX 等待来自 gRPC 后端服务器响应的最大时间间隔。此超时对于控制服务器在放弃并关闭连接之前应等待回复的时长至关重要。它允许管理员通过避免请求无限挂起的长时间停滞来微调服务器的响应性和资源管理。 此指令可在三种上下文中指定:`http`、`server` 和 `location`。其值以时间格式指定(例如 '30s' 表示 30 秒)。指令的值必须是有效的时间跨度,可以以秒、分钟或小时为单位指定。如果在指定的超时时间内未收到响应,NGINX 将向客户端返回错误,从而在可能出现延迟的服务中提供更好的容错能力。 在生产环境中为 `grpc_read_timeout` 设置合适的值至关重要,尤其是当 gRPC 服务的响应时间可能随负载而变化时。超时时间过短可能导致不必要的重试或失败,而超时时间过长则可能降低应用的响应性,因为请求可能会不必要地长时间挂起。
配置示例
location /example {
grpc_pass grpc://backend;
grpc_read_timeout 30s;
}⚠
确保以正确的格式指定 timeout(例如,'30s')。
⚠
将 timeout 设置得过短可能导致频繁的错误和重试。
⚠
如果未设置,默认的 60 seconds 可能不足以完成某些 gRPC 操作。