cantidad de procesos de trabajo nginx


23

Estoy configurando nginx para servir una instalación de Drupal, y parece que encuentro información contradictoria sobre la configuración de los procesos de trabajo de nginx. Un sitio dice que necesita dos, uno dice que necesita cinco, uno dice uno por procesador ...

¿Cómo debo elegir la cantidad de procesos de trabajo de nginx? Si hace la diferencia, es una VM invitada en un clúster VMWare, y le he dado un procesador virtual.

Respuestas:


16

Nginx a diferencia de Apache y otros procesos por servidores web de conexión. Utiliza un proceso maestro para iniciar y monitorear un pequeño número de procesos de trabajo que realmente manejan las conexiones. Mi recomendación es comenzar con el número predeterminado de trabajadores, que es 1.

worker_processes  1;

Solo necesitará aumentar esto si descubre que el trabajador nginx está pasando demasiado tiempo bloqueado en IO. Esto no pasará hasta que esté atendiendo muchos cientos de solicitudes por segundo.

También puede encontrar estas configuraciones útiles.

worker_rlimit_nofile 8192;

events {
    worker_connections  2048;
    use epoll;
}

1
¿Puedes describir para qué se utiliza "worker_rlimit_nofile 8192"?
The Pixel Developer

wiki.nginx.org/NginxHttpMainModule#worker_rlimit_nofile . Esto le indica al trabajador que aumente su límite.
Dave Cheney

15

En los sistemas SMP, se deben iniciar al menos los procesos de trabajo de nCPU: en cuatro núcleos, cuatro, etc. Eso es suficiente para el proxy.

Si va a servir algunos sitios con mucho contenido estático, sería mejor agregar más trabajadores, uno por disco.

Si su subsistema de disco es deficiente o carga demasiado alta, los procesos de trabajo de nginx pueden bloquearse en las operaciones de E / S y no podrían atender otras solicitudes. En este caso, debe aumentar el número de procesos de trabajo a un valor adecuado (puede ser decenas) o agregar algo de memoria para el caché de disco.

Observe la impresión "ps ax": los trabajadores que están en estado "D" están bloqueados. Aumente hasta obtener al menos procesos de trabajo de nCPU no bloqueados.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.