【问题标题】:Why is the performance of my app not horrible when my uWSGI queue is full?为什么当我的 uWSGI 队列已满时,我的应用程序的性能并不可怕?
【发布时间】:2016-04-28 00:13:59
【问题描述】:

我经常收到这样的错误:

uWSGI listen queue of socket ":15109" (fd: 3) full !!! (101/100)

但运行此应用的应用没有超快请求。例如,它有 100 毫秒的请求。所以,100x100ms = 10 秒。如果有大量请求在队列中等待 10 秒,我会注意到我的应用程序的性能很糟糕,并看到其他警报和指标反映了这一点。但我没有看到。那么是否发生了其他一些现象导致该队列以一种不会转化为实际在队列中这么长时间的请求的方式填满?已经服务的请求不会被垃圾回收吗?

【问题讨论】:

  • 根据我浏览源代码后的理解,这是侦听套接字上队列中的连接数。但是用于获取此信息的操作系统接口似乎非常晦涩(即没有真正记录在案),因此其中一个计数可能是错误的。另外,您是否有多个侦听连接的套接字?
  • 我有多个进程,listen 设置适用于所有进程,我了解到。所以我的数学不太对,实际上是 100x100ms / 7 = 1.4。我想这是我问题的答案:)

标签: python uwsgi


【解决方案1】:

事实证明listen 设置涵盖了所有进程。我的应用有 7 个,所以我的数学应该是 100x100ms / 7 = 1.4 秒,这更有意义。

【讨论】:

  • 酷。很高兴知道警告实际上运行良好!
猜你喜欢
  • 2021-02-27
  • 2012-04-13
  • 2014-05-24
  • 2010-09-20
  • 2015-01-29
  • 1970-01-01
  • 1970-01-01
  • 2017-03-21
  • 2018-11-12
相关资源
最近更新 更多