número de processos do operador nginx


23

Estou configurando o nginx para servir uma instalação do Drupal e parece que encontro informações conflitantes na configuração dos processos do operador do nginx. Um site diz que você precisa de dois, um diz que precisa de cinco, um diz um por processador ...

Como devo escolher o número de processos do operador nginx? Se isso faz diferença, é uma VM convidada em um cluster VMWare, e eu dei a ela um processador virtual.

Respostas:


16

Nginx, ao contrário do Apache e outro processo por servidor da conexão. Ele usa um processo mestre para iniciar e monitorar um pequeno número de processos de trabalho que realmente lidam com as conexões. Minha recomendação é começar com o número padrão de trabalhadores, que é 1.

worker_processes  1;

Você só precisará aumentar isso se descobrir que o trabalhador nginx está gastando muito tempo bloqueado no IO. Isso não ocorrerá até que ele atenda muitas centenas de solicitações por segundo.

Você também pode achar essas configurações úteis.

worker_rlimit_nofile 8192;

events {
    worker_connections  2048;
    use epoll;
}

1
Você pode descrever para que "worker_rlimit_nofile 8192" é usado?
The Pixel Developer

wiki.nginx.org/NginxHttpMainModule#worker_rlimit_nofile . Isso instrui o trabalhador a aumentar seu limite.
Dave Cheney

15

Nos sistemas SMP, pelo menos os processos de trabalho da nCPU devem ser iniciados: no quad-core - quatro etc. Isso é suficiente para proxy.

Se você pretende veicular alguns sites com muito conteúdo estático, seria melhor adicionar mais trabalhadores - um por disco.

Se o seu subsistema de disco estiver ruim ou carregar muito alto, os processos do operador nginx podem ficar bloqueados nas operações de E / S e não podem atender a outras solicitações. Nesse caso, você deve aumentar o número de processos do operador para um valor adequado (pode ser dezenas) ou adicionar um pouco de memória para o cache do disco.

Examine a impressão "ps ax": os trabalhadores que estão no estado "D" estão bloqueados. Aumente até obter pelo menos os processos de trabalho nCPU não bloqueados.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.