我在Gunicorn上使用Django运行一个非常简单的Web服务器,Gevent工作人员与MySQL进行通信以进行简单的crud类型操作。所有这些都落后于nginx并托管在AWS上。我使用以下配置运行我的应用服务器:
gunicorn --logger-class=simple --timeout 30 -b :3000 -w 5 -k gevent my_app.wsgi:application
然而,有时,工作人员只是卡住了(有时当请求数量增加时。有时即使没有它),TPS也随着nginx丢失而返回499 HTTP错误代码。有时,工作人员已经开始被杀(WORKER TIMEOUT
)并且请求被删除。
我无法找到调试工人陷入困境的方法。我已经检查了MySQL的慢速日志,这不是问题所在。
在Java中,我可以使用jstack
来查看线程状态或其他一些机制,例如takipi
,它在异常到来时提供当时的线程状态。
对于那些可以提供帮助的人,我请你帮我找到一种方法来查看托管的python web服务器的内部状态,即
我一直在寻找它,并且发现很多人都面临着类似的问题,但他们的解决方案似乎很受欢迎,而且没有提到如何深入了解这一点。