Utilisez Xdebug pour profiler votre code

Xdebug est un outil très utilisé pour profiler votre code PHP

Il vous génère un fichier de log qui exploité avec Wincachegrind (un analyseur de log dédié sous windows) ou Kcachegrin (sous Linux), vous pourrez voir les goulots d’étranglement de vos code PHP.

 

Pour installer sur Debian rien de plus simple, connecté sous root:

apt-get install php5-xdebug

Pour windows je ne vous fais pas la manip qui doit couler de source.

Ensuite ajoutez ces lignes dans le fichier php.ini :

[xdebug]
xdebug.remote_enable = off
xdebug.profiler_enable = off
xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_name = “cachegrind.out.%u.%H_%R”
xdebug.profiler_output_dir = “c:/wamp/tmp”
xdebug.show_local_vars=0
xdebug.max_nesting_level=250

Attention en fonction de votre installation de WAMP, le chemin eput être différent, c’est soit wamp pour les version avant 3, et wamp64 pour les version 3.

Ensuite une fois que tout est installé, allez sur une url que vous voulez profiler, et ajoutez à la fin de l’url :

?XDEBUG_PROFILE

s’il y a déjà un autre paramètre :

?id=5&XDEBUG_PROFILE

 

Le fichier est enregistré dans le répertoire tmp.

Comme vous pouvez le voir les fichiers de xdebug commencent par « cachegrind.out » plus une heure ou date.

Pour paramétrer l’output dir, c’est à vous de choisir le meilleur répertoire, vérifiez qu’il soit autorisé en écriture. Si c’est généré sur votre serveur web, il suffit de le télécharger sur votre ordinateur et de l’analyser avec Wincachegrind.

Pour analyser ces logs générés, il vous faut sous Windows le programme Wincachegrind, une fois installé, ouvrez le fichier log généré et vous pourrez explorer les goulots d’étranglement. En effet tous les fichiers php qui s’exécutent sont profilés et vous avez vraiment un détail exceptionnel sur les temps d’exécution du moindre script php ainsi que leur temps d’exécution, c’est en regardant ce dernier paramètre que vous pourrez identifier les coupables d’un site web lent.

Retour en haut