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 -e
y 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.