Está usted en Indice > Construcción > Lenguajes > PHP > Lecciones y Paso a Paso > Profiling en PHP: ¿qué partes consumen más?
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Profiling en PHP: ¿qué partes consumen más?

Hace relativamente poco comentaba casi de pasada lo bien que iría tener una utilidad para saber qué funciones de PHP consumen más a lo cual el primer comentario comentaba la respuesta: herramientas de profiling para PHP.

Ayer le dediqué un rato al tema y si bien veo que sería más fácil algo integrado en WordPress, hay que reconocer que es más práctico hacerlo con profiling genérico ya que es independiente del script a revisar.

Existen varios programas para ello aunque yo sólo conozco dos: Xdebug y APD. Vamos a hablar del segundo.

APD o Advanced PHP Debugger se describe a si mismo como un completo profiler/debugger que se carga como una extensión de Zend. Está pensado para ser una alternativa a gprof en C y DPROF para Perl.

¿Cómo instalarlo?

Hay varias maneras, si usas PHP4 y Debian sólo haría falta un apt-get install php4-apd pero a mí me da dependencias rotas y además en localhost uso PHP5. Vamos a instalarlo de forma manual “relativamente”…

Lo primero es que necesita PHP como CGI, aunque eso no impide usar de normal el mod_php e instalar el CGI, también hace falta el phpize , yo tengo instalado un LAMP funcional con PHP5 y he tenido que agregar estos paquetes: php5-cgi y php-dev .

Luego he intentado instalar la extensión con pear:

pear install apd

Pero me ha soltado un error con solución incluida, hay que usar:

pecl install apd

Si todo va bien bajará la extensión y la compilará, en mi caso la ruta donde guarda la extensión es /usr/lib/php5/20060613+lfs/apd.so pero si no sabéis donde lo guarda podéis buscarlo mediante:

updatedb && locate apd.so

Ahora toca configurar el PHP5 para que cargue el módulo, creo un fichero llamado apd.ini en /etc/php5/conf.d/apd.ini con la siguiente configuración:

# configuration for php APD module zend_extension = /usr/lib/php5/20060613+lfs/apd.so apd.dumpdir = /var/www/apd apd.statement_trace = 0

La primera línea es la ruta a la extensión, la segunda donde se guardarán los “logs” y la tercera, sinceramente no estoy seguro, venía con un fichero de configuración de ejemplo.

Reiniciamos el servidor y creamos un fichero PHP con la función phpinfo() y podremos ver todo lo que tiene PHP, deberíamos ver algo parecido a:

Additional .ini files parsed /etc/php5/apache2/conf.d/apd.ini,

This program makes use of the Zend Scripting Language Engine: Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies with Advanced PHP Debugger (APD) v0.9, , by George Schlossnagle .

Y un campo para la extensión que pone la versión usada y que está activada. Con esto ya está.



Usuarios que han visto este tema también han visto...

- Verificar la existencia de una url
- Introducción basica a Flash con PHP
- Variables predefinidas en PHP
- Crear imágenes GIF desde PHP
- Ambito de variables en PHP


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad






Cursos de Community Manager

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 13-02-2012 a las 08:20:01