numero di processi di lavoro nginx


23

Sto configurando nginx per servire un'installazione di Drupal e mi sembra di trovare informazioni contrastanti sull'impostazione dei processi di lavoro di nginx. Un sito dice che hai bisogno di due, uno dice che hai bisogno di cinque, uno dice uno per processore ...

Come devo scegliere il numero di processi di lavoro nginx? Se fa la differenza, è una VM guest su un cluster VMWare e gli ho dato un processore virtuale.

Risposte:


16

Nginx a differenza di Apache e di altri server web per connessione. Utilizza un processo principale per avviare e monitorare un piccolo numero di processi di lavoro che gestiscono effettivamente le connessioni. La mia raccomandazione è di iniziare con il numero predefinito di lavoratori, che è 1.

worker_processes  1;

Dovrai aumentarlo solo se scopri che il lavoratore nginx sta trascorrendo troppo tempo bloccato su IO. Ciò non avverrà fino a quando non servirà molte centinaia di richieste al secondo.

Potresti anche trovare utili queste impostazioni.

worker_rlimit_nofile 8192;

events {
    worker_connections  2048;
    use epoll;
}

1
Puoi descrivere a cosa serve "worker_rlimit_nofile 8192"?
The Pixel Developer

wiki.nginx.org/NginxHttpMainModule#worker_rlimit_nofile . Questo indica al lavoratore di aumentare il suo ulimit.
Dave Cheney,

15

Sui sistemi SMP, almeno i processi di lavoro nCPU dovrebbero essere avviati: su quad-core - quattro ecc. Questo è abbastanza per il proxy.

Se hai intenzione di servire alcuni siti con un sacco di contenuto statico, sarebbe meglio aggiungere più lavoratori, uno per disco.

Se il sottosistema del disco è insufficiente o carica troppo in alto, i processi di lavoro nginx potrebbero bloccarsi sulle operazioni di I / O e non potrebbero soddisfare altre richieste. In questo caso, è necessario aumentare il numero di processi di lavoro su un valore adeguato (può essere decine) o aggiungere un po 'di memoria per la cache del disco.

Esaminare la stampa "ps ax": i lavoratori che si trovano nello stato "D" sono bloccati. Aumentare fino a ottenere almeno i processi di lavoro nCPU non bloccati.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.