
Estoy en el proceso de configurar un servidor con 4 GB de RAM y 2 CPU. La pila será CentOS + NGINX + MySQL + PHP (con APC) y spawn-fcgi. Se utilizará para dar servicio a 10 blogs de Wordpress, 3 de los cuales reciben alrededor de 20.000 visitas al día. Cada instancia de Wordpress está equipada con W3 TotalCache.
Tengo algunas variables para jugar:
- NGINX (Cuántos procesos_trabajadores, conexiones_trabajadores, etc.)
- PHP (¿Qué parámetros en php.ini debo cambiar? ¿Qué pasa con apc?)
- Spawn-fcgi (En este momento tengo 6 php-cgi generados. ¿Cuántos de ellos debería tener?)
Me doy cuenta de que es difícil saberlo sin realizar pruebas, pero si pudiera proporcionarme algunos números aproximados, también sería útil.
Respuesta1
Los procesos_trabajadores normalmente deberían ser iguales a la cantidad de núcleos. Si tiene procesos de bloqueo (disk_io, subprocesos largos, etc.), puede aumentarlos.
procesos_trabajadores * conexiones_trabajadores = clientes máximos
asegúrese de configurar gzip. Probablemente no sea necesario configurar rcvbuf o backlog para su sitio, por lo que no me preocuparía mucho por esas configuraciones.
En cuanto a sus subprocesos de php, probablemente ejecutaría entre 5 y 10 como lo ha hecho usted. Si comienza a recibir errores de conexión 502 Gateway, es posible que deba aumentarlos.
Para php.ini, la configuración predeterminada debería funcionar bien. Si está cargando imágenes/medios, aumente post_max_size y upload_max_filesize según sus requisitos. APC es prácticamente una configuración lista para usar y debería funcionar bien.
Dado que está utilizando W3 Total Cache, también está eliminando una cantidad de accesos a php, lo que debería suponer menos carga para php-cgi de todos modos.