Red de conocimiento informático - Material del sitio web - Cómo configurar la herramienta de análisis PHP xhprof localmente

Cómo configurar la herramienta de análisis PHP xhprof localmente

Entorno de prueba:

linuxMint + nginx1.4.6 + mysql5.5 + php5.5

¿Qué es xhprof?

XHProf es una herramienta de análisis de rendimiento de PHP en capas. Informa varias métricas a nivel de función y recuento de solicitudes, incluido el tiempo de bloqueo, el tiempo de CPU y el uso de memoria. La sobrecarga de una función se puede dividir en sobrecarga de la persona que llama y de la persona que llama, y ​​la fase de recopilación de datos de XHProf registra la cantidad de llamadas y los arcos métricos incluidos rastreados en el gráfico de llamadas dinámicas del programa.

1. ¿Cómo instalar?

1. Descargue el último paquete de software xhprof

Descargar:

wget /get/xhprof-0.9.4.tgz

Solución Compresión:

tar -xvf xhprof-0.9.4.tgz

2. Compile e instale la biblioteca de extensiones pecl

cd xhprof-0.9.4/extension /

phpize

./configure

make

sudo make install

Después de una compilación exitosa, la extensión directorio de la biblioteca Aparecerá el archivo xhprof.so

La dirección del directorio de la biblioteca de extensión: /usr/lib/php5/20121212/

3. Modifique el archivo de configuración de php.

Porque mi computadora usa php-cgi, entonces necesito agregar una configuración.

cd /etc/php5/cgi/conf.d

Nuevo: archivo xhprof.ini

extensión=xhprof.so

4. Reinicie php, reinicie php-cgi

Reinicie php:

sudo service php5-fpm restart

Reinicie php-cgi

kill -9 17445

php-cgi -b 127.0.0.1:9000&

5. Copie xhprof al directorio raíz del sitio web

Por ejemplo, mi directorio raíz El directorio es /data/webroot/

Copia los dos directorios y listo:

cp -r xhprof_html/ /data/webroot/

cp -r xhprof_lib / /data/webroot/

6, verifique si xhprof está instalado correctamente en el entorno local

Nuevo archivo: info.php

echo phpinfo();

Si se puede buscar xhprof en la página, significa que xhprof se ha instalado correctamente:

xhprof

xhprof 0.9.4

CPU número 4

II.

Usar xhprof es relativamente sencillo.

Hay un archivo ejemplos/sample.php en el directorio de descarga

barra de funciones($x) {

if ($x > 0) {

bar($x - 1);

}

}

función foo( ) {

for ($idx = 0; $idx < 5; $idx++) {

bar($idx);

$x = strlen( " abc");

}

}

// Iniciar creación de perfiles

xhprof_enable();

//Ejecutar programa

foo();

//Detener el generador de perfiles

$xhprof_data = xhprof_disable();

// Muestra datos xhprof sin procesar. /...') ;

include_once $XHPROF_ROOT ."/xhprof_lib/utils/xhprof_lib.php" ;

include_once $XHPROF_ROOT ."/xhprof_lib/utils/xhprof_runs.php" ;

// Guarde los datos sin procesar para esta ejecución del generador de perfiles utilizando los valores predeterminados

// Implementación de iXHProfRuns. $xhprof_runs = new XHProfRuns_Default();

//Guardar la ejecución en el espacio de nombres "xhprof_foo"

$run_id = $xhprof_runs->save_run($ xhprof_data, "xhprof_foo") ;

echo "---------------\n".

"Supongamos que ha configurado una interfaz de usuario basada en http para\n ".

"XHProf está ubicado en una dirección determinada, puedes \n "ver su funcionamiento.

"--------------\n";

Al ver este archivo en un navegador se mostrará el siguiente código:

--------------- Suponiendo que haya configurado una interfaz de usuario basada en http para XHProf en una dirección, puede ver run atrun=562614ece2e2d&source=xhprof_foo ------ ---------

Al acceder a este punto se mostrarán varios archivos:

No se especificó ninguna ejecución de XHProf en la URL.

Operación existente:

562614ece2e2d.xhprof_foo.xhprof 2015-10-20 18:18:20

562614e0b76b2.xhprof_foo.xhprof 2015-10-20 18 :18:08

562614a33f6ec.xhprof_foo.xhprof 2015-10-20 18:17:07

5626146be4aaf.xhprof_foo.xhprof 2015-10-20 18:16:11

5626146324cdd.xhprof_foo.xhprof 2015-10-20 18:16:03

Haga clic para ingresar uno:

Haga clic en [Ver gráfico de llamadas completo] y puede aparecer un error informado

p>

No se pudo ejecutar cmd: " dot - Tpng". stderr: `sh: 1: dot: not found '

Esto se debe a que la herramienta gráfica no está disponible. no instalado

sudo apt -get install graphviz

Una vez instalado, ábrelo nuevamente y verás la vista.

Sustantivo:

1.Tiempo Inclusivo: incluye el tiempo de ejecución de todas las subfunciones.

2. Tiempo exclusivo/tiempo propio: el tiempo de ejecución de la función en sí, excluyendo el tiempo de ejecución del subárbol.

3. Tiempo de pared: el tiempo invertido o tiempo del reloj de pared.

4. Tiempo de CPU: tiempo empleado por el usuario + tiempo empleado por el kernel

5 Incluyendo CPU: CPU ocupada por funciones y subárboles

6.

p>