N-PN White-Hat Project
[Php] Profiler son site - Version imprimable

+- N-PN White-Hat Project (https://dev.n-pn.fr/forum)
+-- Forum : Programmation (https://dev.n-pn.fr/forum/forumdisplay.php?fid=72)
+--- Forum : Langages interprétés (https://dev.n-pn.fr/forum/forumdisplay.php?fid=27)
+--- Sujet : [Php] Profiler son site (/showthread.php?tid=2454)



[Php] Profiler son site - InstinctHack - 01-12-2012

Salut les gens Smile

Je travaille sur un framework, et j'avais commencer à y implanter un système pour calculer le temps que prenait certains passages du script, mais j'ai trouver mieux (enfin ça dépend)

[Image: KCacheGrind_Top_Methods.png]

Je considère comme acquis que vous posséder une machine GNU/Linux ainsi qu'un environnement de dévellopement php fonctionnel.

il vous faut donc installer xdebug : (tux power)
Code :
sudo apt-get install php-pear
sudo pecl install xdebug

[Image: 149619.jpg]

Pecl vous diras quel est la ligne à rajouter dans votre php.ini

Puis rajouter également ça dans le php.ini
Code :
[Xdebug]
xdebug.show_local_vars=1
xdebug.profiler_enable = On
xdebug.profiler_output_dir = /var/www/myframework

[Image: KCacheGrind_Cout_par_ligne.png]

Ca vous permettras de mieux voir vos erreurs dans la phase de dévellopement. Lancer votre navigateur et aller sur votre virtualhost, un fichier de profilage as était créer.
Pour l'ouvrir il vous faudras kcachegrind
Code :
sudo apt-get install kcachegrind

puis lancer le et ouvrer votre fichier avec, et admirer :
ça vous montre le temps de chargement des includes, le nombre d'utilisations des fonctions, bref c'est très complet et permet de voir là où votre code est lent afin de l’optimiser.

[Image: KCacheGrind_CallGraph.png]

images de http://benjamin-balet.info et http://uploads.siteduzero.com

Citation :Je travaille sur un framework, et j'avais commencer à y implanter un système pour calculer le temps que prenait certains passages du script, mais j'ai trouver mieux (enfin ça dépend)

Ca dépend, car j'utilise toujours firephp afin de m'afficher quelques informations utiles et je peux le garder actif en production car un système de niveau d'accès est utilisé, donc voilà Wink