有没有推荐的方法来诊断任务队列深度警告的原因,比如下面waitress
中的警告?也许有一些方法可以记录排队的任务/请求?
2019-04-25 14:45:23,048 WARNI [服务员.队列:122][主线程]任务队列深度为2
我正在本地Windows 10计算机上测试pyramid
应用程序。我尝试将waitress
和waitress.queue
的日志记录级别更改为“INFO”,并将expose_tracebacks
参数设置为True
,但除了警告之外,没有其他控制台输出(没有更改其他waitress.serve
默认参数)。
版本:
- 服务员版本1.3.0
- 金字塔版本1.10.4
- python版本3.6.5
4条答案
按热度按时间mnemlml81#
警告很简单,直接和线程数有关,Waitress默认为4个线程,一个浏览器默认为一次向每个域发送6个请求,所以如果你要加载一个有一些静态资产的站点(images/css/js)那么你很可能会把它放大并得到一个警告(6 - 4 = 2,正如你在文章中看到的)如果你把线程数增加到6,你就不会再看到警告了。
pgpifvop2#
它基本上是一个
INFO
(而不是WARNING
),表示存在比当前空闲线程更多的请求。你可以增加线程或者完全关闭服务员日志,特别是考虑到服务员的默认日志设置,它可能会干扰应用程序日志。
https://github.com/Pylons/waitress/issues/133#issuecomment-629992140
mcvgt66p3#
队列长度是指等待线程的请求数,可以通过传递给waister.serve()的
backlog
参数配置队列长度,默认值为1024. Refbqf10yzr4#
要修复此问题,请执行 threads=100