我正在设置 nginx 以提供 Drupal 安装服务,但我似乎发现有关 nginx 工作进程设置的信息存在冲突。一个站点说你需要两个,一个说你需要五个,一个说每个处理器一个......
我应该如何选择 nginx 工作进程的数量?如果它有所作为,那么它就是 VMWare 集群上的一个来宾 VM,我已经给了它一个虚拟处理器。
Dav*_*ney 17
Nginx 不同于 Apache 和其他进程的每个连接网络服务器。它使用一个主进程来启动和监视少数实际处理连接的工作进程。我的建议是从默认的工人数量开始,即 1。
worker_processes 1;
Run Code Online (Sandbox Code Playgroud)
如果您发现 nginx 工作线程在 IO 上花费了太多时间,则只需增加此值。直到它每秒处理数百个请求时才会结束。
您可能还会发现这些设置很有用。
worker_rlimit_nofile 8192;
events {
worker_connections 2048;
use epoll;
}
Run Code Online (Sandbox Code Playgroud)
Vad*_*dim 15
在 SMP 系统上,至少应该启动 nCPU 工作进程:在四核上 - 四个等等。这对于代理来说已经足够了。
如果您要为一些包含大量静态内容的站点提供服务,最好添加更多工作人员 - 每个磁盘一个。
如果您的磁盘子系统太差或负载太高,nginx 工作进程可能会被 I/O 操作锁定并且无法处理其他请求。在这种情况下,您应该将工作进程的数量增加到某个合适的值(可能是数十个),或者为磁盘缓存添加一些内存。
查看“ps ax”打印输出:处于“D”状态的工人被锁定。增加直到获得至少 nCPU 工作进程不被阻塞。
归档时间: |
|
查看次数: |
33408 次 |
最近记录: |