tutorial - pregunta de configuración nginx
nginx tutorial español (3)
Sé que esto no es directamente una cuestión de programación, pero las personas en stackoverflow parecen ser capaces de responder cualquier pregunta.
Tengo un servidor que ejecuta Centos 5.2 de 64 bits. Bastante potente servidor de doble núcleo 2 con 4 GB de memoria. Principalmente sirve archivos estáticos, flash e imágenes. Cuando uso lighttpd, me sirve fácilmente más de 80 MB / seg, pero cuando pruebo con nginx, desciende a menos de 20 MB / seg.
Mi configuración es bastante directa, usa el archivo de configuración predeterminado y he agregado lo siguiente
user lighttpd;
worker_processes 8;
worker_rlimit_nofile 206011;
#worker_rlimit_nofile 110240;
error_log /var/log/nginx/error.log;
#error_log /var/log/nginx/error.log notice;
#error_log /var/log/nginx/error.log info;
pid /var/run/nginx.pid;
events {
worker_connections 4096;
}
http {
....
keepalive_timeout 2;
....
}
Y pensé que se suponía que nginx era al menos tan poderoso, así que no debo estar haciendo algo.
Quizás lighttpd está utilizando algún tipo de almacenamiento en caché? Aquí hay un excelente artículo que describe cómo configurar memcached con nginx para un aumento del rendimiento reportado del 400%.
El documento nginx en el módulo memcached está aquí .
Cuando vuelvas a cargar tu nginx (kiil -HUP) obtendrás algo como esto en tus registros de errores
2008/10/01 03:57:26 [notice] 4563#0: signal 1 (SIGHUP) received, reconfiguring 2008/10/01 03:57:26 [notice] 4563#0: reconfiguring 2008/10/01 03:57:26 [notice] 4563#0: using the "epoll" event method 2008/10/01 03:57:26 [notice] 4563#0: start worker processes 2008/10/01 03:57:26 [notice] 4563#0: start worker process 3870
¿Qué método de evento compila tu nginx para usar?
¿Estás haciendo access_loging? Considere agregar buffer = 32k, lo que reducirá la contención en el bloqueo de escritura para el archivo de registro.
Considere la posibilidad de reducir el número de trabajadores, parece contra-intuitivo, pero los trabajadores necesitan sincronizarse entre sí para las llamadas al sistema como accept (). Trate de reducir el número de trabajadores, idealmente sugeriría 1.
Puede intentar establecer explícitamente los búferes de socket de lectura y escritura en el socket de escucha, consulte http://wiki.codemongers.com/NginxHttpCoreModule#listen
Sugerencias: - Use 1 trabajador por procesador. - Verifique las diversas configuraciones del buffer nginx