Améliorer son code PHP Qu'est-ce que le profiling applicatif ?

On appelle profiling le fait de décomposer toutes les fonctions appelées dans une application et, pour chacune d'elles, d'analyser son temps d'exécution et combien de fois elle a été appelée.


ces bonnes feuilles sont tirées de l'ouvrage 'performances php', de julien
Ces bonnes feuilles sont tirées de l'ouvrage "Performances PHP", de Julien Pauli, Cyril Pierre de Geyer et Guillaume Plessis, publié chez Eyrolles. © Eyrolles

C'est une étape importante dans l'amélioration des performances : le profiling cible très précisément les fonctions lentes d'une application, en vue de les optimiser ou de créer un système de cache pour qu'elles soient moins sollicitées.

Principe à retenir


Le principe est plutôt simple. Une extension PHP mesure le temps que PHP a passé dans chacune des fonctions lors du traitement d'une requête HTTP.

 

1 On active le profileur (via une extension PHP).
2 On lance une requête HTTP vers la page à tester.
3 Le profileur stocke les différentes actions bas niveau de PHP sous la forme de "traces".
4 On traite alors les mesures qui ont été effectuées.

Des logiciels transforment ces traces en représentations visuelles aidant à se rendre compte des éventuels problèmes de performances rencontrés lors du traitement de la requête.

L'extension PHP la plus connue pour profiler un script s'appelle Xdebug mais
d'autres profileurs existent : nous vous présenterons notamment XhProf, qui offre deux avantages.

 Il est plus léger en termes de performances.

 Il crée des traces elles aussi plus légères que celles de Xdebug.

Côté logiciel de représentation visuelle des traces, le plus abouti est KcacheGrind