V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
longmeier90
V2EX  ›  Python

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

  •  
  •   longmeier90 · 2022-09-17 11:20:26 +08:00 · 2054 次点击
    这是一个创建于 559 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    6 条回复    2022-09-19 13:59:04 +08:00
    knightdf
        1
    knightdf  
       2022-09-17 11:33:29 +08:00
    看后端有没有报错和其他超时
    fggz
        2
    fggz  
       2022-09-17 16:43:36 +08:00
    +1 一直报这个,还有 502 ,不过业务好像没有影响,一直没有找到原因。
    eason1874
        3
    eason1874  
       2022-09-17 22:17:47 +08:00
    这种情况只调 nginx 没用,因为也有可能是后端重置的
    cz5424
        5
    cz5424  
       2022-09-18 09:42:53 +08:00
    @corvofeng 我折腾了两天,发现了跟你同样的问题,我是盲猜 1.1 会 keepalive ,如果到 tcp timeout 就会把链接掐了,掐了的时候就返回 502
    longmeier90
        6
    longmeier90  
    OP
       2022-09-19 13:59:04 +08:00
    =============这是我的解决方案===========
    1. [后端] nginx 连接数调高、buffer 缓存调大、keepalive 加了长连接
    2. [后端] 增加后台服务进程数
    3. [后端] 慢接口进行读写分离优化(分析错误日志,找到转圈时刻慢接口)
    4. [后端] 增加自动访问接口提醒功能(每分钟)
    5. [后端] 增加了调第三方服务超时时间
    6. [前端] 优化了超时时间 30 秒改 10 秒
    7. [前端] 优化了页面快速切换的重复请求
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2834 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 14:53 · PVG 22:53 · LAX 07:53 · JFK 10:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.