下面是我在服务器上运行乘客状态时的输出。
Requests in queue: 0
* PID: 1821 Sessions: 0 Processed: 2971 Uptime: 15m 11s
CPU: 14% Memory : 416M Last used: 0s ago
* PID: 1847 Sessions: 0 Processed: 1066 Uptime: 15m 11s
CPU: 6% Memory : 256M Last used: 2s ago
* PID: 1861 Sessions: 0 Processed: 199 Uptime: 15m 11s
CPU: 1% Memory : 238M Last used: 3s ago
* PID: 1875 Sessions: 0 Processed: 37 Uptime: 15m 10s
CPU: 0% Memory : 196M Last used: 15s ago
* PID: 1900 Sessions: 0 Processed: 7 Uptime: 15m 10s
CPU: 0% Memory : 136M Last used: 33s ago
* PID: 1916 Sessions: 0 Processed: 4 Uptime: 15m 10s
CPU: 0% Memory : 126M Last used: 33s ago
* PID: 1932 Sessions: 0 Processed: 1 Uptime: 15m 10s
CPU: 0% Memory : 132M Last used: 14m 44s ago
* PID: 1946 Sessions: 0 Processed: 0 Uptime: 15m 10s
CPU: 0% Memory : 68M Last used: 15m 10s ago
* PID: 1962 Sessions: 0 Processed: 0 Uptime: 15m 9s
CPU: 0% Memory : 53M Last used: 15m 9s ago
* PID: 1980 Sessions: 0 Processed: 0 Uptime: 15m 9s
CPU: 0% Memory : 53M Last used: 15m 9s ago我们正在运行的堆栈是Nginx +客运+ Rails。我在这里担心的是,正如文档所述,乘客必须将负载分配到由自己产生的工人身上,但正如我们从日志中看到的那样,只有前2名工人才能得到所有请求,其余的只是闲置。
而且,随着时间的推移,顶级员工的内存使用量也会增加。这是否一种预期的行为?我如何纠正这一点,并能以任何方式提高性能?
另外,我的客运大厅在下面
passenger_max_pool_size 20;
passenger_min_instances 10;
passenger_max_instances_per_app 0;
passenger_pre_start <api-endpoint>;
passenger_pool_idle_time 0;
passenger_max_request_queue_size 0;发布于 2017-09-07 02:18:15
我真傻,几分钟前我做了一个评论,现在我找到了答案。
乘客使用一个简单的算法来填充顶部的请求,只要有可能,而不是使用循环,没有错误的应用程序。
这个链接解释了其中的大部分。
balancing.html#traffic-may-appear-unbalanced-between-processes
https://stackoverflow.com/questions/45165584
复制相似问题