请帮助我理解worker_processes
和worker_connections
在Nginx中是什么以及它们之间的关系。我在Nginx directives下看了看,说:worker_processes
个
辅助进程是一个单线程进程。
如果Nginx正在进行CPU密集型工作,例如SSL或gzipping,并且您有2个或更多CPU/核心,那么您可以将worker_processes设置为等于CPU或核心的数量。
如果您正在处理大量静态文件,并且文件的总大小大于可用内存,则可以增加worker_processes以充分利用磁盘带宽。worker_connections
个
main部分中的worker_connections和worker_processes允许您计算可以处理的最大客户端:max clients = worker_processes * worker_connections
个
所以我理解worker_processes
是单线程的,它的值在CPU密集型工作中很有帮助,但我无法理解“允许你处理你能处理的最大客户端”。
如果有人能给予一个worker_processes
中给出的例子,对我理解会有帮助。
4条答案
按热度按时间uyhoqukh1#
worker_connections是同时连接的数量;所以他们只是简单地说明如何计算,例如:
nginx对worker连接有更好的更新描述。
ssgvzors2#
worker_process auto;
,以根据可用内核自动调整Nginx工作进程的数量。worker_connections <no>
更改此限制。ulimit -n
。max_clients = worker processes * worker connections
个qmb5sa223#
从Nginx's Beginner’s Guide
nginx有一个主进程和几个工作进程。主进程的主要目的是读取和评估配置,以及维护工作进程。工作进程实际处理请求。nginx采用基于事件的模型和依赖于操作系统的机制来有效地在工作进程之间分发请求。工作进程的数量在配置文件中定义,对于给定的配置,工作进程的数量可以是固定的,也可以根据可用CPU内核的数量自动调整
ldxq2e6h4#
这就是我从进程和线程的Angular 来理解它的方式。Worker_process相当于process,worker_connection相当于thread。
一个进程(Worker_process)可以有n个线程(worker_connections)。