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.