最近 nginx,一直报错 recv() failed (104: Connection reset by peer) while reading response header from upstream

2022-09-17 11:20:26 +08:00
 longmeier90

最近一段时间 pad 项目打开页面一直转圈,发现后端返回也不慢,但是很多时候接收不到请求不知道为什么?

后来跟踪日志才发现 nginx 一直提示 recv() failed (104: Connection reset by peer) while reading response header from upstream 错误。 也把 nginx 最大连接数调高了也不行。

2100 次点击
所在节点    Python
6 条回复
knightdf
2022-09-17 11:33:29 +08:00
看后端有没有报错和其他超时
fggz
2022-09-17 16:43:36 +08:00
+1 一直报这个,还有 502 ,不过业务好像没有影响,一直没有找到原因。
eason1874
2022-09-17 22:17:47 +08:00
这种情况只调 nginx 没用,因为也有可能是后端重置的
corvofeng
2022-09-17 23:19:47 +08:00
cz5424
2022-09-18 09:42:53 +08:00
@corvofeng 我折腾了两天,发现了跟你同样的问题,我是盲猜 1.1 会 keepalive ,如果到 tcp timeout 就会把链接掐了,掐了的时候就返回 502
longmeier90
2022-09-19 13:59:04 +08:00
=============这是我的解决方案===========
1. [后端] nginx 连接数调高、buffer 缓存调大、keepalive 加了长连接
2. [后端] 增加后台服务进程数
3. [后端] 慢接口进行读写分离优化(分析错误日志,找到转圈时刻慢接口)
4. [后端] 增加自动访问接口提醒功能(每分钟)
5. [后端] 增加了调第三方服务超时时间
6. [前端] 优化了超时时间 30 秒改 10 秒
7. [前端] 优化了页面快速切换的重复请求

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/880757

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX