api 接口项目使用 uwsgi,开始队列设为 1024,运行几个小时后服务就挂了。
用 uwsgitop 查看,lq=1025,uwsgi 日志也在报 listen queue of socket (fd 3) full (1025/1024)
网上查了资料,说是 uwsgi 有过载保护,listen queue 超过阈值就罢工(实在不能理解),于是修改 listen queue 为 9999,运行几个小时依旧会挂。
用 uwsgitop 查看,lq=8000 多,而且不断变大,预计又是要到了 10000 再罢工。
我就疑惑了,为什么 listen queue 没有达到阈值就开始罢工了,难道踩了其他的坑?
这个项目正常运行时,用 uwsgitop 查看 rqs 大概是 30,并发并不高,接口响应一般在 10ms,最慢也是 300ms,不知道有没有碰到类似问题的朋友?
用 uwsgitop 查看,lq=1025,uwsgi 日志也在报 listen queue of socket (fd 3) full (1025/1024)
网上查了资料,说是 uwsgi 有过载保护,listen queue 超过阈值就罢工(实在不能理解),于是修改 listen queue 为 9999,运行几个小时依旧会挂。
用 uwsgitop 查看,lq=8000 多,而且不断变大,预计又是要到了 10000 再罢工。
我就疑惑了,为什么 listen queue 没有达到阈值就开始罢工了,难道踩了其他的坑?
这个项目正常运行时,用 uwsgitop 查看 rqs 大概是 30,并发并不高,接口响应一般在 10ms,最慢也是 300ms,不知道有没有碰到类似问题的朋友?