我正在设置 nginx 以服务于 Drupal 安装,我似乎在 nginx 工作进程设置上发现了相互矛盾的信息。一个网站说你需要两个,一个说你需要五个,一个说每个处理器一个......
我应该如何选择 nginx 工作进程的数量?如果它有所作为,它是 VMWare 集群上的来宾虚拟机,我给它一个虚拟处理器。
我正在设置 nginx 以服务于 Drupal 安装,我似乎在 nginx 工作进程设置上发现了相互矛盾的信息。一个网站说你需要两个,一个说你需要五个,一个说每个处理器一个......
我应该如何选择 nginx 工作进程的数量?如果它有所作为,它是 VMWare 集群上的来宾虚拟机,我给它一个虚拟处理器。
Nginx 与 Apache 和其他每个连接网络服务器的进程不同。它使用一个主进程来启动和监视少量实际处理连接的工作进程。我的建议是从默认的工人数量开始,即 1。
如果您发现 nginx 工作人员在 IO 上阻塞了太多时间,您只需要增加此值。在每秒处理数百个请求之前,这不会发生。
您可能还会发现这些设置很有用。
在 SMP 系统上,至少应该启动 nCPU 工作进程:在四核 - 四核等上。这对于代理来说已经足够了。
如果您要为一些包含大量静态内容的站点提供服务,最好添加更多工作人员 - 每个磁盘一个。
如果您的磁盘子系统太差或负载太高,nginx 工作进程可能会锁定 I/O 操作,无法服务其他请求。在这种情况下,您应该将工作进程的数量增加到某个合适的值(可能是几十个),或者为磁盘缓存添加一些内存。
查看“ps ax”打印输出:处于“D”状态的工人被锁定。增加直到获得至少 nCPU 工作进程未被阻塞。