Utiliser xDebug pour profiler la performance d'un site sur cPanel


Définition

Qu'est-ce que xDebug ?

xDebug est une extension PHP qui sert à déboguer des sites. Parmi ses fonctionnalités, elle peut être utilisé pour identifier l'origine des lenteurs sur un site Internet.

Procédure

Qu'est-ce que xDebug ?

xDebug est une extension PHP qui sert à déboguer des sites. Parmi ses fonctionnalités, elle peut être utilisé pour identifier l'origine des lenteurs sur un site Internet.

Comment activer xDebug sur cPanel ?

Depuis l'outil de sélection des extensions PHP dans votre panneau de contrôle cPanel, activez l'extension xDebug :

Utiliser xDebug pour profiler la performance d'un site sur cPanel

Depuis l'onglet Options, activez le profilage permanent de xdebug :

Utiliser xDebug pour profiler la performance d'un site sur cPanel

  • xdebug.mode permet de définir le mode de fonctionnement de xdebug (ici, mode profilage)
  • xdebug.output_dir permet de spécifier le chemin sur laquelle vous allez mettre les fichiers générés par le profilage (assurez-vous bien que le dossier existe sur votre FTP, sinon xDebug va juste oublier le résultat au moment où il détecte l'absence du dossier).
  • Le format indiqué sur xdebug.profiler_output_name permet d'indiquer le format du nom de fichiers générés par le profilage.
  • xdebug.start_with_request permet de définir si xDebug s'active automatiquement ou non, dès que PHP reçoit une requête :
    • default : valeur par défaut, dépendant de xdebug.mode :
      • xdebug.mode = falsexdebug.start_with_request équivaut à no.
      • xdebug.mode = debugxdebug.start_with_request équivaut à trigger.
      • xdebug.mode = gcstatsxdebug.start_with_request équivaut à no.
      • xdebug.mode = profilexdebug.start_with_request équivaut à yes.
      • xdebug.mode = tracexdebug.start_with_request équivaut à trigger.
    • yes : active xDebug indépendamment de xdebug.mode.
    • no : désactive xDebug indépendamment de xdebug.mode.
    • trigger : active xDebug indépendamment de xdebug.mode​​​​​​​ quand la variable XDEBUG_TRIGGER est présente dans la requête GET, POST, dans les cookies ou les variables d'environnement. Ceci vous permet d'activer xDebug pour des cas spécifiques, évitant ainsi de perturber le trafic général (par exemple, lors d'un débogage).

Une fois ces paramètres en place, rendez-vous sur la page que vous souhaitez profiler afin de générer les données de profilage. Si tout s'est bien passé, vous allez constater un nouveau fichier dans le dossier que vous avez spécifié :

Utiliser xDebug pour profiler la performance d'un site sur cPanel

Chaque fichier correspondra à une requête HTTP effectuée.

Lire un fichier de profilage xDebug avec Webgrind

Une fois votre fichier de profilage xDebug obtenu, installez Webgrind sur votre formule d'hébergement pour lire son contenu. Pour cela, téléchargez Webgrind et décompressez-le sur un dossier de votre espace FTP :

Utiliser xDebug pour profiler la performance d'un site sur cPanel

Editez ensuite le fichier config.php pour renseigner le chemin des fichiers de profilage xdebug :

Utiliser xDebug pour profiler la performance d'un site sur cPanel

Consulter le profilage sur l'interface Webgrind

Rendez-vous ensuite sur l'URL https://www.votresite.com/webgrind (à adapter selon l'emplacement où vous avez installé webgrind) et sélectionnez un événement de profilage à ouvrir et cliquez sur "Update" :

Utiliser xDebug pour profiler la performance d'un site sur cPanel

 

Une fois le fichier chargé, vous constaterez directement un tableau comme celui-ci :

Utiliser xDebug pour profiler la performance d'un site sur cPanel

Les colonnes les plus importantes sont : la colonne function qui indique la fonction PHP appelée, invocation count le nombre d'appel effectué sur celui-ci, total self cost le temps total dépensé pour l'utiliser. Vous pourrez alors identifier facilement sur le tableau les fonctions PHP à l'origine de la lenteur de votre site web, et pouvoir apporter une modification sur le site pour améliorer ses performances.

Notez cet article

Vous avez noté 0 étoile(s)

Cet article a été lu 5654 fois.

comments powered by Disqus
Top