¿Cómo debugar por qué va lento todo?

215 views
Skip to first unread message

Xavi Montero

unread,
Apr 10, 2012, 4:43:15 PM4/10/12
to symfo...@googlegroups.com
Hola,

Si una aplicaci�n sf2 en entorno de desarrollo va lenta (ie: unos 2 � 3
segundos por request de http) �qu� herramientas tenemos para comprobar
qu� parte o m�dulo est� haciendo de cuello de botella?

Gracias!
Xavi.

Carlos Zuniga

unread,
Apr 10, 2012, 8:19:03 PM4/10/12
to symfo...@googlegroups.com
2012/4/10 Xavi Montero <xmon...@dsitelecom.com>:
> Hola,
>
> Si una aplicación sf2 en entorno de desarrollo va lenta (ie: unos 2 ó 3
> segundos por request de http) ¿qué herramientas tenemos para comprobar qué
> parte o módulo está haciendo de cuello de botella?
>

Hola,

Puedes usar el profiler de xdebug, que te permite ver el tiempo
utilizado por cada función llamada durante la ejecución
http://xdebug.org/docs/profiler

A parte el WebDebugToolbar de Symfony2 te da información sobre tiempo
usado en las queries de Doctrine.

Saludos
--
Linux Registered User # 386081
A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos
de leer manuales.

Marcelo Prizmic

unread,
Apr 11, 2012, 3:48:07 PM4/11/12
to symfo...@googlegroups.com

--
Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Google Groups.
Para publicar en este grupo, envía un email a symfo...@googlegroups.com
Para darte de baja, envía un email a symfony-es+...@googlegroups.com
El resto de opciones puedes encontrarlas en http://groups.google.com/group/symfony-es?hl=es
 
Con Netbeans podés hacer un seguimiento de la ejecución línea por línea de código y ver que va pasando con el valor de cada variable.

Marcelo

Nacho Pacheco

unread,
Apr 11, 2012, 4:04:57 PM4/11/12
to symfo...@googlegroups.com

Xavi Montero

unread,
Apr 11, 2012, 4:52:04 PM4/11/12
to symfo...@googlegroups.com
Ostras tiene muy buena pinta el xdebug. No lo conoc�a. Por lo que veo,
entiendo que es puro de PHP y por tanto es completamente independiente
de que se trate de sf2. Siemplemente "debugar�a cualquier cosa" y por
tanto sf2 tambi�n �correcto?

> Puedes usar el profiler de xdebug, que te permite ver el tiempo

> utilizado por cada funci�n llamada durante la ejecuci�n

> http://xdebug.org/docs/profiler A parte el WebDebugToolbar de Symfony2

> te da informaci�n sobre tiempo usado en las queries de Doctrine. Saludos

Xavi Montero

unread,
Apr 11, 2012, 4:54:01 PM4/11/12
to symfo...@googlegroups.com
Gracias. No me refer�a tanto a debugar las trazas de c�mo se ejecuta
(valores de variables, etc) sino a los cuellos de botella en tiempo de
ejecuci�n. Si una llamada tarda 300ms pero intuitivamente deber�a tardar
30ms, saber por qu� est� tardando tanto.

Entiendo que la propuesta de Netbeans no va por ese lado �correcto?
> Con Netbeans pod�s hacer un seguimiento de la ejecuci�n l�nea por
> l�nea de c�digo y ver que va pasando con el valor de cada variable.

Xavi Montero

unread,
Apr 11, 2012, 4:59:42 PM4/11/12
to symfo...@googlegroups.com
He le�do con atenci�n el art�culo pero no he comprendido c�mo me puede
ayudar a identificar los puntos cr�ticos de ejecuci�n. Es decir,
entiendo que desactivas la cach� para que el debugger no se confunda
pero no comprendo si eso ayuda de alg�n modo a saber si la llamada a tal
o cual funci�n es lo que enlentece la ejecuci�n.


El 11/04/2012 22:04, Nacho Pacheco escribi�:

Marcelo Prizmic

unread,
Apr 11, 2012, 5:42:51 PM4/11/12
to symfo...@googlegroups.com


El 11 de abril de 2012 17:59, Xavi Montero <xmon...@dsitelecom.com> escribió:
He leído con atención el artículo pero no he comprendido cómo me puede ayudar a identificar los puntos críticos de ejecución. Es decir, entiendo que desactivas la caché para que el debugger no se confunda pero no comprendo si eso ayuda de algún modo a saber si la llamada a tal o cual función es lo que enlentece la ejecución.



El 11/04/2012 22:04, Nacho Pacheco escribió:
--
Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Google Groups.
Para publicar en este grupo, envía un email a symfo...@googlegroups.com
Para darte de baja, envía un email a symfony-es+unsubscribe@googlegroups.com

El resto de opciones puedes encontrarlas en http://groups.google.com/group/symfony-es?hl=es

lo de Netbeans no va en primera instancia por el lado del tiempo sino en saber bien que hace el código. luego se puede evaluar si hay algo de más que al sacarlo te pueda hacer reducir los tiempos, o no.

marcelo

Xavi Montero

unread,
Apr 11, 2012, 5:50:47 PM4/11/12
to symfo...@googlegroups.com
Una pregunta tonta sobre le xdebug...

El "profiler de symfony2" que se encarga de capturar la info para
mostrar en el debug-toolbar... �es en realidad el mismo "profiler de
xdebug" gen�rico de php nativo?


El 11/04/2012 22:52, Xavi Montero escribi�:

Carlos Zuniga

unread,
Apr 11, 2012, 7:54:01 PM4/11/12
to symfo...@googlegroups.com
2012/4/11 Xavi Montero <xmon...@dsitelecom.com>:

> Una pregunta tonta sobre le xdebug...
>
> El "profiler de symfony2" que se encarga de capturar la info para mostrar en
> el debug-toolbar... ¿es en realidad el mismo "profiler de xdebug" genérico
> de php nativo?
>

No, el profiler de Symfony2 es el que aparece en la barra de debug en
el sitio web y lo que hace es mostrar información de los eventos,
emails enviados, queries de doctrine, etc.

El profiler de xdebug lo que hace es generar un log de cada función
llamada durante la ejecución del código (que puede ser cualquier
código php) y su duración. Luego puedes visualizar esta información
con el kcachegrind.

Deberías usarlo en modo producción ya que en modo debug seguro que lo
más lento va a ser la regeneración de caches que en producción no
sucede.

>
> El 11/04/2012 22:52, Xavi Montero escribió:
>
>> Ostras tiene muy buena pinta el xdebug. No lo conocía. Por lo que veo,


>> entiendo que es puro de PHP y por tanto es completamente independiente de

>> que se trate de sf2. Siemplemente "debugaría cualquier cosa" y por tanto sf2
>> también ¿correcto?

Correcto :)

Reply all
Reply to author
Forward
0 new messages