gpt4 book ai didi

nginx - uWSGI 工作人员都很忙,但每秒请求数非常低

转载 作者:行者123 更新时间:2023-12-03 15:54:28 37 4
gpt4 key购买 nike

我在优化 uWSGI 时遇到了很多麻烦为我服务 Flask应用程序,每秒接收大约 1500 个请求。

我目前在我的前端服务器上运行 Nginx,在上游块中有四台服务器(每台服务器都是 AWS m5-xlarge,所以有足够的计算能力)。前端服务器使用 Web 套接字连接到端口 5000 上的 uWSGI 服务器。我已经验证这一切正常,并且 Nginx 能够处理负载。

这是我的 uWSGI 配置:

[uwsgi]
module = wsgi:app

master = true

processes = 24
threads = 4
enable-threads = True

socket = 0.0.0.0:5000
stats = api.stats.sock
chmod-socket = 660
vacuum = true

die-on-term = true

这是典型 uwsgitop 的截图每个服务器的统计信息:

uWSGI Stats

如您所见,每秒请求数非常低,但工作人员仍然很忙。
top命令显示我的服务器利用率极低。

top

与此同时,Nginx 正在吐出数以千计的错误,例如:
*5151324 upstream timed out (110: Connection timed out) while connecting to upstream

如果有人能帮我诊断这个,那将是非常感激的。

最佳答案

我有一个类似的问题,尽管所有工作人员都在空闲,但我的监听队列正在增长并且 RPS 很低。

有很多潜在的原因

  • net.ipv4.ip_conntrack_max 不够高
  • net.core.somaxconn 不够高
  • ulimit 不够高
  • uwsgi --listen 不够高
  • nginx 工作进程太低
  • nginx 工作连接太低

  • 如果这些都不起作用,那么您将需要检查您的日志,确认对 uWSGI 的入站请求位于 http/1.1 而不是 http/1.0,然后使用 --http11-socket
    以下是我在解决这个问题时的一些发现: https://wontonst.blogspot.com/2019/06/squishing-performance-bug-in.html

    关于nginx - uWSGI 工作人员都很忙,但每秒请求数非常低,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49246050/

    37 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com