← 全部文章

技术与生活 / 一篇记录

代理的“等多久”,至少有两个答案

连接上游与等待上游返回是两个阶段,分别设置才能准确排障。

连接超时处理的是无法与上游建立连接;读取超时处理的是连接已存在但迟迟没有新数据。两者适合不同故障,统一加大数值常常只会延长用户等待。

操作与观察

配置片段不是完整配置文件,应放入正确的上下文,并按实际环境调整路径与端口。

proxy_connect_timeout 3s;
proxy_read_timeout 30s;

用可控延迟接口验证行为,再观察错误日志。

使用可控接口分别模拟拒绝连接和延迟返回。长轮询或流式输出需要结合业务调整,同时保留监控,避免把真正卡住的请求永久挂起。

调整超时之后要观察错误率与连接占用,而不只是看一次请求终于等到了结果。等待更久可能减少表面超时,却让慢请求堆积,最终影响原本正常的用户请求。

别遗漏这条边界

read timeout 通常限制两次读取之间的等待,并非整个请求的绝对时长。

参考:Nginx 文档。

搜索文章

输入关键词,找回一篇记录。