Sugiérame una buena configuración de php-fpm

Sugiérame una buena configuración de php-fpm

Estoy configurando un servidor para un amigo. El servidor tiene las siguientes especificaciones

8GB RAM 
Quad Core processor 
1 TB HDD 
100 mbps port

Sin embargo, todos los archivos php se cargan muy lentamente. Hice una prueba de velocidad y el servidor tarda 16 segundos en cargar el PRIMER byte. Creo firmemente que es mi configuración php-fpm. El servidor usa nginx y php solo, no mysql, etc.

Mi configuración actual de php-fpm

pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 35

La carga del servidor y el uso de RAM están perfectamente bien

Por favor sugiérame una buena configuración para este servidor.


ACTUALIZAR:

Esta configuración funciona bien

pm.max_children = 20
pm.start_servers = 7
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pm.max_requests = 100

El problema con el tiempo de carga del primer byte está resuelto. Sin embargo, después de 15 a 20 horas, el tiempo de carga del primer byte aumenta gradualmente. Tengo que recargar php-fpm para obtener un tiempo de carga pequeño. Según mi configuración anterior, lo modifico para que el tiempo de carga del primer byte siga siendo pequeño y no tenga que reiniciarlo:P

ACTUALIZACIÓN 2: Antes de reiniciar php-fpm Tiempo para cargar el primer byte: 1,5 segundos Tiempo total de carga de la página: 3,0 segundos Tiempo después de reiniciar php-fpm Tiempo para cargar el primer byte: 0,3 segundos Tiempo total de carga de la página: 1,5 segundos

Esto muestra claramente que es una cuestión de configuración de php-fpm, no de código lento.

Respuesta1

¡Demasiados trabajadores! Utilice APC para acelerar su código y estoy totalmente de acuerdo con @Martin Fjordvald en que el código lento es simplemente código lento. Por ejemplo, podrías publicar tu index.php y podríamos ayudarte a encontrar el cuello de botella.

Puedes echar un vistazo a mi configuración personal enGitHub. La última prueba de carga con una instalación de Drupal mostró tiempos de carga de alrededor de 120 ms.

Cree un nuevo cronjob crontab -ey coloque lo siguiente en el archivo:

# Simple reload every hour.
@hourly /etc/init.d/php5-fpm reload

# And restart at midnight.
@daily /etc/init.d/php5-fpm restart

Respuesta2

El código lento es código lento y la configuración de su servidor no puede hacer nada al respecto. El único caso que puede causar una velocidad lenta es si tiene tanto tráfico que sus solicitudes tienen que esperar hasta que un proceso esté disponible.

Como estás usando PHP-FPM, habilita el registro lento y descubre por qué tu código es lento.

información relacionada