【发布时间】: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。我想这是我问题的答案:)