Al desarrollar un sitio web usando PHP, si algunas páginas dinámicas de PHP son muy lentas de acceder tras el lanzamiento, podemos analizar el cuello de botella del sitio web mediante registros lentos de php-fpm.
La configuración de SlowLog de PHP-FPM nos permite ver qué procesos PHP son demasiado lentos y causan problemas en la web.
Primero, comprueba todos los procesos mediante el comando top -c para ver la dirección del archivo de configuración cargada por php-fpm, como se muestra en la figura de abajo:
Configuración FPM
parámetro: -p, modificar dinámicamente --prefijo en la línea de comandos
include=etc/php-fpm.d/*.conf para contener uno o más archivos si glob(3) existe (la función glob() devuelve un nombre de archivo o directorio que coincide con el patrón especificado)
PHP-FPM carga un subarchivo de configuración, $pool variable puede usarse en cualquier directiva y reemplazará el nombre correspondiente del pool de procesos. Por ejemplo: aquí[www]
Enciende los troncos lentos
entrar/usr/local/etc/php-fpm.dSubconfiguración, encuentra www.conf (según tu situación real), PHP 5.3.3 y versiones posteriores se configuran de la siguiente manera:
; El tiempo de espera para atender una sola solicitud, tras lo cual un backtrace PHP será ; volcado en el archivo 'slowlog'. Un valor de '0s' significa 'apagado'. ; Unidades disponibles: s(econds)(predeterminado), m(inutes), h(nuestro) o d(ays) ; Valor por defecto: 0 request_slowlog_timeout = 1s ; El archivo de registro para solicitudes lentas ; Valor por defecto: /usr/local/php/log/php-fpm.log.slow slowlog = /usr/local/php/log/php-fpm.log.slow ; El tiempo muerto para atender una sola solicitud, tras el cual el trabajador procesará ; morir. Esta opción debería usarse cuando la opción ini 'max_execution_time' ; Por alguna razón, no detiene la ejecución de scripts. Un valor de '0' significa 'apagado'. ; Unidades disponibles: s(econds)(predeterminado), m(inutes), h(nuestro) o d(ays) ; Valor por defecto: 0 request_terminate_timeout = 10s Nota: request_terminate_timeout Terminar directamente un proceso que ha estado ejecutándose demasiado tiempo
request_slowlog_timeout Escribe archivos que son demasiado lentos para ejecutarse en el log
A partir de ahora, puedes optimizar los archivos del programa según el registro de ejecución lenta /usr/local/php/log/php-fpm.log.slow!
|