Améliorer son code PHP Mise en pratique du profiling

 

Installation de Xdebug



Xdebug est l'extension PHP qui va nous servir à profiler notre application. C'est elle qui va collecter des traces et les enregistrer dans des fichiers. Elle doit être utilisée en phase de développement et désactivée en production.


 Installation de Xdebug

 

phptuning:~# apt-get install php5-xdebug


Une fois le profileur Xdebug installé, il convient de le configurer. Nous lui indiquons l'endroit où on souhaite stocker les fichiers de traces, ainsi que le mode de déclenchement du profileur.


 Configuration du profileur Xdebug

phptuning:~# vi /etc/php5/conf.d/xdebug.ini
xdebug.profiler_enable = 0xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_dir = /tmp


Ici, nous indiquons de ne pas activer le profileur en permanence, mais uniquement lorsque la page reçoit un paramètre HTTP appelé XDEBUG_PROFILE. Ce paramètre sera transmis au choix en GET, en POST, ou via un cookie afin de déclencher le profiling de la page.


ATTENTION Performances du profileur

Lorsque le profiling est en cours, la page répond beaucoup plus lentement que d'habitude. C'est logique : le profileur mesure le temps que prend l'exécution de chaque fonction PHP de la page courante ; or, il y en a souvent des centaines, voire des milliers !

Ainsi, le simple fait d'activer l'extension Xdebug sur votre serveur affecte ses performances, parfois même de manière sensible. N'utilisez Xdebug que lorsque vous en avez besoin, et certainement pas en production ! Pour de la production, vous pouvez utiliser le profileur Xhprof.


OUTIL Aide au déclenchement

Il peut être pénible d'ajouter manuellement le paramètre HTTP déclenchant le profileur. Une extension Firefox vous simplifiera largement la vie : EasyXdebug.