我基本上想知道枪手的工作方式。我有一台服务器,机器上有4个工作人员,4GB RAM,2个CPU,并且nginx作为前端服务请求和反向代理。我有同时发送到服务器的请求。
我想知道工人是如何被用尽的,如果他们是四个请求,他们是否在四个工人之间进行负载平衡,如果1个请求每个工人?
此外,如何检查每个工作人员使用了多少内存?我已将最大请求数设置为100.因此使用这100个最大请求。即使1名工人达到100个请求,它是否会重新加载整个4名工人。
如何更深入地了解工人以及工人如何记忆以及当前每个工人的请求。
答案 0 :(得分:2)
简短回答:取决于工人类型和枪支配置。
答案很长:
-w
选项配置工作器的数量,其实现因工作者类型而异。某些工作类型使用线程,其他工作类型使用事件循环并且是异步性能因类型而异 - 通常情况下,异步通过事件循环是首选,因为它在资源上更轻,性能更高。ps
线程输出可以看到内存使用,例如ps -fL -p <gunicorn pid>
。每个工作者的最大连接数来自文档,因此只会重新加载达到100个连接的工作者。