L’outil APM de Kinsta vous aide à identifier les goulots d’étranglement des performances PHP sur votre site WordPress sans avoir à vous inscrire à des services de surveillance tiers comme New Relic.

Disponible sans frais supplémentaires sur tous les plans, l’outil APM peut être vraiment utile pour dépanner votre site web. L’outil APM est conçu pour capturer des informations horodatées sur les processus PHP de votre site WordPress, les requêtes de la base de données MySQL, les appels HTTP externes, et bien plus encore.

Grâce aux données de l’APM, vous pouvez creuser dans des chargements de pages lents spécifiques pour identifier la cause profonde du problème. Pour plus de détails sur la résolution des problèmes de performance sur des types de sites spécifiques à l’aide de l’outil APM, consultez ces guides :

N’oubliez pas que l’outil APM de Kinsta est spécialement conçu pour vous aider à surveiller les sites WordPress. L’utiliser pour surveiller un site fonctionnant sur un autre CMS ou framework peut donc entraîner des résultats inexacts. Nous vous recommandons donc de l’utiliser uniquement pour les sites WordPress.

Terminologie de l’outil APM

Avant de nous plonger dans l’utilisation de l’outil APM, définissons quelques termes importants qui seront utilisés par la suite.

APM

APM, abréviation de « Application Performance Monitoring », est un outil qui vous donne un aperçu des statistiques et des tendances de performance d’une application. L’outil APM de Kinsta vous fournit des données exploitables sur les performances de votre site WordPress.

Requêtes

Dans le contexte de l’outil APM, une requête fait référence à une visite de votre site WordPress qui nécessite l’exécution de PHP pour le rendu. Une URL de requête peut inclure divers paramètres de chaîne de requête et déclencher une transaction correspondante.

Par exemple, une requête adressée à votredomaine.com/wp-cron.php?arg=1&arg2=2 déclencherait une transaction /wp-cron.php.

Transaction

Une transaction fait référence à l’activité de l’administration qui se produit pour servir une requête à votre site WordPress. Par exemple, la transaction pour une requête vers /wp-login.php contient les processus PHP individuels qui génèrent la page de connexion de votre site WordPress.

Portée (Span)

Une portée (ou span) fait référence à un processus individuel dans une transaction. Une transaction unique peut se composer de centaines de portées disposées hiérarchiquement.

Par exemple, une transaction qui génère une page de compte pour un client WooCommerce peut consister en une portée qui se décompose en plusieurs portées de requêtes de la base de données.

Échantillon de transaction

Un échantillon de transaction se réfère à une instance sélectionnée parmi de nombreuses requêtes vers un point de terminaison (endpoint) de transaction spécifique (par exemple /single.php, /wp-cron.php, etc.). Dans l’outil APM, vous aurez le choix entre trois échantillons.

Par exemple, l’outil APM peut enregistrer des douzaines de transactions /wp-cron.php. Dans ce cas, l’outil APM choisira la transaction la plus lente et l’appellera un échantillon de transaction.

Suivi de transaction

Un suivi de transaction est une chronologie complète de tous les processus qui ont eu lieu dans un échantillon de transaction. Dans notre outil APM, un suivi de transaction est représenté par une liste de portées avec sa durée correspondante et les informations d’horodatage.

Calendrier de suivi des transactions pour un échantillon de transaction
Calendrier de suivi des transactions pour un échantillon de transaction.

Trace de pile

Une trace de pile est une décomposition détaillée du processus pour une portée individuelle. Les traces de pile sont utiles pour un débogage approfondi. Elles contiennent des informations très détaillées sur le code PHP qui a été exécuté, jusqu’à un fichier PHP spécifique et une ligne de code.

Une trace de pile pour une portée.
Une trace de pile pour une portée.

Comment activer l’outil APM de Kinsta

Par défaut, l’outil APM est désactivé. Comme l’outil APM nécessite des ressources serveur supplémentaires, nous vous recommandons de ne l’activer que lorsque vous cherchez activement à résoudre un problème de performance sur votre site WordPress.

Pour activer l’outil APM, connectez-vous à MyKinsta, choisissez le site que vous voulez surveiller, allez dans l’onglet APM de votre site et cliquez sur le bouton Activer APM.

Cliquez sur le bouton Activer APM pour l’activer dans MyKinsta
Cliquez sur le bouton Activer APM pour l’activer dans MyKinsta.

Ensuite, sélectionnez une durée de surveillance pour l’APM. Vous pouvez choisir entre 2 heures, 4 heures, 12 heures et 24 heures. Comme l’APM peut réduire la performance de votre site, nous ne recommandons pas de l’activer pendant une période prolongée. Une fois que vous avez sélectionné une durée de surveillance, cliquez sur Activer le temps de surveillance pour activer l’APM.

Sélectionnez le temps de surveillance de l'APM et activez-le
Sélectionnez le temps de surveillance de l’APM et activez-le.

Donnez à l’outil 5-10 minutes pour commencer à collecter des données et ensuite vous pouvez voir ces données sur l’onglet APM.

Une fois la durée de surveillance écoulée, APM sera désactivé automatiquement. Si vous voulez désactiver la surveillance plus tôt, cliquez sur le menu kebab (trois points) et sélectionnez Désactiver depuis le menu déroulant.

Désactivez l'APM dans MyKinsta
Désactivez l’APM dans MyKinsta.

Comment sélectionner une période de données de surveillance ?

Par défaut, l’outil APM affiche les données de surveillance depuis les 60 dernières minutes. Cependant, l’intervalle de temps des données est personnalisable, et vous pouvez choisir entre les options ci-dessous.

  • 30 minutes
  • 60 minutes
  • 2 heures
  • 4 heures
  • 12 heures
  • 24 heures

Pour changer ce réglage, cliquez sur le bouton Temps de surveillance situé en haut à droite de la section Résultats de la surveillance et sélectionnez une option dans la fenêtre popup qui s’affiche. Cliquez sur le bouton Appliquer la période de temps pour configurer la nouvelle période de temps.

Modifiez la durée de surveillance des données de l'APM
Modifiez la durée de surveillance des données de l’APM.

Comment actualiser les données de surveillance ?

L’outil APM de Kinsta affiche les données de suivi des performances en fonction du délai fixé (par exemple, après 30 minutes, après 60 minutes, etc.). Pour éviter toute confusion, l’outil APM n’actualise pas automatiquement les données. Pour actualiser l’outil APM et afficher les dernières données depuis la période sélectionnée, cliquez sur l’icône d’actualisation (refaire) en haut à droite de la section des résultats de surveillance.

Cliquez sur l'icône d'actualisation (redo) pour mettre à jour les données de surveillance APM
Cliquez sur l’icône d’actualisation (redo) pour mettre à jour les données de surveillance APM.

Comment lire l’outil APM Insights

Comme l’enregistrement des données ne commence qu’après l’activation de l’outil APM, vous devrez lui laisser un peu de temps pour recueillir les données de performance de votre site. Nous vous recommandons d’attendre 5 à 10 minutes avant d’inspecter les données de surveillance.

Ensuite, vous pouvez trouver des informations clés dans la section Résultats de surveillance. Cette section contient 4 onglets, que nous allons évaluer plus en détail ci-dessous : Transactions, WordPress, Base de données, et Externe.

Onglets des résultats de la surveillance APM : Transactions, WordPress, Base de données, et Externe
Onglets des résultats de la surveillance APM : Transactions, WordPress, Base de données, et Externe.

Il y a quelques colonnes courantes que vous verrez sur chaque onglet :

  1. Durée totale (%)  Le pourcentage de temps, par rapport à la Durée totale, consommé par toutes les requêtes adressées à un point de terminaison de transaction dans la période sélectionnée. Le pourcentage de durée est calculé avec les valeurs de la Durée totale (la somme de la durée de toutes les requêtes à un point de terminaison particulier), il ne représente donc pas la durée d’un échantillon de transaction individuel.
  2. Durée totale la durée totale du temps consommé par un point de terminaison de transaction au cours de la période sélectionnée. Notez que la durée se réfère à la somme de la durée de toutes les requêtes vers un terminal particulier, et ne représente pas la durée d’un échantillon de transaction individuel.
  3. Durée maximale la durée de l’échantillon de transaction la plus lente par rapport à la période sélectionnée.
  4. Moyenne des durées la moyenne des durées de tous les échantillons de transactions à partir de la période sélectionnée.
  5. Taux par minute – le nombre de fois qu’une transaction a été effectuée en moyenne par minute dans la période sélectionnée.

En naviguant dans les données, vous verrez également ces détails de données courantes :

Échantillons de transactions

Quand vous cliquez sur une transaction, une modale contenant jusqu’à trois échantillons de transaction depuis la période sélectionnée s’affiche.

  1. Échantillon le plus lent l’échantillon de transaction le plus lent.
  2. 95ème pourcentage une transaction se situant dans les 95 % (95 % des transactions sont plus rapides que cet échantillon de transaction).
  3. 50ème pourcentage – une transaction se situant dans les 50 % (50 % des transactions sont plus rapides que cet échantillon de transaction), également appelée médiane. Vous pouvez considérer qu’il s’agit de la durée typique, car il y a exactement le même nombre d’échantillons plus lents et plus rapides que celle-ci.
La modale d’échantillon de transaction dans l’outil APM
La modale d’échantillon de transaction dans l’outil APM.

Vous pouvez voir un, deux ou trois échantillons. Par exemple, la même transaction peut être l’échantillon le plus lent et la transaction du 95e percentile.

Le mode « Échantillons de transaction » affiche également des informations utiles sur chaque échantillon de transaction, notamment l’horodatage, le point de terminaison de transaction, l’URL de la requête et la durée.

Échantillon de transaction individuel

Si vous cliquez sur un échantillon de transaction dans la modale, vous serez amené à une page dédiée à l’échantillon sélectionné. Cette page « échantillon de transaction » comprend l’horodatage de l’échantillon, le point de terminaison de la transaction, l’URL, la durée, le code d’état HTTP et un calendrier complet de suivi de la transaction.

Exemple de transaction avec la chronologie de la trace dans l'APM de Kinsta
Exemple de transaction avec la chronologie de la trace dans l’APM de Kinsta.
  1. Horodatage la date et l’heure de l’échantillon de transaction.
  2. Transaction le point de terminaison PHP de l’échantillon de transaction (par exemple /wp-cron.php, /single.php, etc.).
  3. URL l’URL spécifique de l’échantillon de transaction.
  4. Durée la durée de l’échantillon de transaction en millisecondes.
  5. Résultat le code d’état HTTP de la transaction. Si vous voyez un résultat «  HTTP 200 », cela signifie que la transaction a été lente, mais qu’elle a finalement réussi. En revanche, si vous voyez un résultat « HTTP 503 », cela peut signifier que la transaction a été retardée.

Chaque échantillon de transaction a son propre permalien ou URL unique. Cela permet de référencer et de partager facilement un échantillon de transaction spécifique avec vos collègues, un développeur ou l’équipe de support de Kinsta. Remarque : Votre collègue ou développeur devra avoir accès au site dans MyKinsta afin de pouvoir visualiser l’échantillon de transaction.

Lien permanent d’échantillon de transaction
Lien permanent d’échantillon de transaction.

Calendrier de suivi des transactions

En plus des informations basiques sur les transactions, l’outil APM vous donne également une chronologie plus détaillée du suivi des transactions. Dans le calendrier de suivi des transactions, vous pouvez voir une présentation détaillée des différentes étapes – processus PHP, requêtes de base de données MySQL et appels externes pour un échantillon de transaction particulier.

Vous pouvez trier les portées par Durée (temps) ou Durée (%) dans un ordre croissant ou décroissant en cliquant sur le nom de la colonne. Ceci est utile pour identifier rapidement les transactions les plus longues.

Chaque portée a également sa durée et son horodatage relatifs, ce qui vous permet d’identifier rapidement la partie la plus longue et la plus problématique de la requête.

Par rapport à la durée totale de l’échantillon de transactions, :

  • Les portées de plus de 5 % sont affichés en orange
  • Les portées de plus de 25 % sont affichés en rouge

Ces mises en évidence font toujours référence à la durée relative de la portée dans le contexte de son propre échantillon. Donc, si vous voyez quelque chose en rouge, tenez compte du fait que c’est toujours comparé à cet échantillon donné (et que votre site ou application web n’est peut-être pas lent dans son ensemble).

Notez que pour les requêtes MySQL et Redis, nous n’incluons pas les durées inférieures à 0,001 ms. Pour les portées non liées à la base de données, le seuil est de 1 ms. Nous excluons délibérément les durées courtes car l’enregistrement d’un grand nombre d’éléments rapides peut avoir un impact sur les performances de votre site et ne fournit pas de données très utiles.

Chronologie de la trace de la transaction pour un échantillon de transaction
Chronologie de la trace de la transaction pour un échantillon de transaction.

Cette chronologie détaillée est très utile pour résoudre les problèmes de performances, car elle vous aide à identifier exactement le goulot d’étranglement.

Par exemple, vous pouvez remarquer que le fichier /wp-admin/admin-ajax.php est causé par de longues requêtes d’API vers des API de réseaux sociaux. Fort de cette connaissance, vous pouvez alors continuer à tester votre site avec votre extension sociale désactivée pour voir si cela fait une différence.

De même, si vous voyez une transaction lente vers /wp-cron.php qui contient des requêtes HTTP répétitives initiées par une extension de préchargement du cache, vous pouvez agir rapidement sur cette information et désactiver la fonctionnalité de préchargement du cache.

Détails de la portée

Si vous cliquez sur une portée dans la chronologie des transactions, vous pourrez voir un aperçu détaillé avec un suivi complet de la pile et les informations associées.

Par exemple, si vous cliquez sur une portée de requête MySQL, vous verrez la requête de base de données qui a été exécutée avec le suivi de la pile. En examinant les détails de la portée, vous pouvez obtenir un aperçu plus approfondi des transactions PHP sur votre site WordPress.

Détails de la portée dans la ligne de temps de la trace des transactions
Détails de la portée dans la ligne de temps de la trace des transactions.

Pour des exemples plus spécifiques sur la façon de lire et d’utiliser les données de l’outil APM, consultez notre guide sur l’utilisation de l’APM de Kinsta pour diagnostiquer les problèmes de performance.

Surveillance des résultats

Sur chacun des onglets sous Résultats de surveillance, vous pouvez afficher des données spécifiques pour les transactions, WordPress, la base de données et les requêtes externes.

Transactions

C’est dans cet onglet que vous trouverez les données sur le temps de transaction global et les transactions les plus lentes.

Temps de transaction global

Le graphique à barres de la durée globale des transactions vous donne une représentation visuelle des données sur la durée des transactions depuis la période sélectionnée. Chaque barre consiste en une répartition multicolore des temps de transaction PHP, MySQL, Redis et externe. Le graphique Temps de transaction global affiche également le temps de transaction moyen de la période sélectionnée dans le coin supérieur droit.

Graphique à barres du temps global de transaction de l'outil APM
Graphique à barres du temps global de transaction de l’outil APM.

Transactions les plus lentes

Les dix transactions PHP les plus lentes apparaissent dans la section Transactions les plus lentes, sous le graphique à barres Temps de transaction global. En plus des colonnes courantes, la première colonne de ces données est la colonne Transaction, qui affiche le point de terminaison des transactions des requêtes lentes qui ont consommé le plus de temps PHP (par exemple /wp-cron.php, /wp-json, etc.).

Transactions les plus lentes dans l'outil APM
Transactions les plus lentes dans l’outil APM.

Vous pouvez cliquer sur chaque point de terminaison de transaction pour afficher les échantillons de transaction et naviguer plus loin dans chaque échantillon de transaction individuel, la chronologie de la trace, les détails de l’étendue et la trace de la pile.

WordPress

Sur l’onglet WordPress sous Résultats de surveillance, vous trouverez des données spécifiques aux extensions et hooks WordPress.

Extensions WordPress les plus lentes

Les extensions enregistrées les plus lentes sont listées en haut avec le slug (nom du dossier/répertoire) de l’extension dans la première colonne, puis le reste des colonnes de données courantes. Vous pouvez cliquer sur chaque slug d’extension pour afficher les échantillons de transaction et naviguer plus loin dans chaque échantillon de transaction individuel, la chronologie de la trace, les détails de l’extension et la trace de la pile.

Extensions WordPress les plus lentes

Sous la liste des extensions WordPress les plus lentes, vous verrez la liste des hooks WordPress les plus lents. Les hooks WordPress sont des fonctions dans les thèmes ou les extensions qui vous permettent de modifier WordPress à des endroits spécifiques dans le traitement du code.

Un hook est soit une action soit un filtre, et les hooks de cette liste sont précédés de leur type (action ou filtre), suivi du nom de la fonction. En cliquant sur un hook, vous afficherez les échantillons de transaction, où vous pouvez naviguer plus loin dans chaque échantillon de transaction individuel, la chronologie de la trace, les détails de la portée et la trace de la pile.

Base de données

Cet onglet affiche les données pour les requêtes de base de données les plus lentes et les transactions de cache Redis les plus lentes (si Redis est activé).

Requêtes de base de données les plus lentes

Les 10 requêtes de base de données les plus lentes sont affichées dans la section Requêtes de base de données les plus lentes. Cliquez sur une requête pour afficher les échantillons de transaction, où vous pouvez aller plus loin dans chaque échantillon de transaction individuel, la chronologie de la trace, les détails de la portée et la trace de la pile.

Cache Redis le plus lent

Pour les sites disposant du module Redis, les détails relatifs au cache Redis se trouvent dans cette section. Si le module Redis n’est pas installé sur votre site, aucune donnée ne sera affichée. En cliquant sur un élément de cache, vous afficherez les échantillons de transaction, où vous pouvez aller plus loin dans chaque échantillon de transaction individuel, la chronologie de la trace, les détails de l’étendue et la trace de la pile.

Externe

Les données relatives à toutes les requêtes externes effectuées par votre site se trouvent dans l’onglet Externe. Les requêtes externes sont des requêtes HTTP faites par votre site à un autre site ou serveur. Ces appels sont généralement effectués par des extensions ou des thèmes pour récupérer ou envoyer des données ou pour communiquer avec une API.

Chaque URL de la première colonne de la liste est suivie de la méthode HTTP utilisée pour la requête (GET, POST, PUT, etc.). En cliquant sur l’URL d’une requête, vous afficherez les échantillons de transaction, où vous pourrez naviguer plus avant dans chaque échantillon de transaction individuel, la chronologie de la trace, les détails du span et la trace de la pile.

FAQ APM

Nous avons compilé quelques questions populaires concernant APM, et nous y répondons ci-dessous.

Comment puis-je activer l’APM de Kinsta ?

L’APM de Kinsta est disponible sans frais supplémentaires avec tous les plans. Pour l’activer, vous devez :

  1. Vous connecter sur votre tableau de bord MyKinsta
  2. Sélectionnez le site web que vous souhaitez déboguer
  3. Cliquer sur l’onglet Surveillance.
  4. Cliquez sur le bouton Activer APM pour activer l’APM

L’APM va-t-il ralentir mon site WordPress ?

Comme pour les autres outils APM, l’outil APM de Kinsta peut ajouter une charge supplémentaire aux ressources CPU et RAM de votre serveur et peut potentiellement ralentir votre site WordPress pendant un temps limité.

Nous recommandons fortement d’activer l’APM uniquement quand vous êtes en train de diagnostiquer un problème de performance sur votre site.

Kinsta soutient-il toujours la surveillance personnelle de New Relic pour les clients possédant des licences personnelles New Relic ?

Oui, les sites Kinsta continuent de prendre en charge la surveillance de New Relic pour les clients possédant une licence personnelle.

Est-il possible d’utiliser l’APM de Kinsta et New Relic en même temps ?

Nous ne recommandons pas d’utiliser l’APM de Kinsta et New Relic pour la surveillance en même temps. Cependant, il est possible de basculer entre l’APM et New Relic tant que les deux outils ne sont pas actifs en même temps.

L’APM est-il compatible avec d’autres plateformes et frameworks CMS ?

Pour l’instant, l’APM est uniquement entièrement compatible avec WordPress.

L’APM fonctionnera-t-il avec Bedrock (ou d’autres sites qui utilisent Composer) ?

Oui, mais si WP-CLI est une dépendance dans le fichier composer.json de votre site, vous devrez ajouter une configuration pour que l’autoloader de Kinsta puisse fonctionner avec l’autoloader WP-CLI :

"prepend-autoloader": false

Voici un exemple de tableau de configuration depuis un site Bedrock après avoir ajouté la configuration prepend :

"config": {
"optimize-autoloader": true,
"preferred-install": "dist",
"prepend-autoloader": false
},

Que faire si je constate un comportement inattendu sur mon site après avoir activé l’APM ?

Nous avons déjà effectué des tests approfondis avec différentes versions de WordPress et une longue liste d’extensions, mais il peut encore y avoir des problèmes inconnus à résoudre, comme une version d’extension ou un développement personnalisé incompatible avec notre solution de surveillance.

C’est pourquoi, lorsque vous activez la fonction, vérifiez toujours que votre site fonctionne correctement et, si vous constatez un comportement involontaire, désactivez la fonction et faites-le nous savoir afin que nous puissions enquêter et résoudre le problème.

Pendant combien de temps les données de l’outil APM sont-elles disponibles ?

Les données APM sont conservées pendant 14 jours. Pour afficher des données de plus de 24 heures, cliquez sur le bouton de cadre temporel situé en haut à droite de la section Résultats de surveillance, allez sur l’onglet Absolu dans la modale/poup Sélectionnez un cadre temporel de 24 heures au cours des 14 derniers jours, puis cliquez sur le bouton Appliquer un cadre temporel.

Résumé

L’outil APM de Kinsta met en contexte les problèmes de performance sur votre site WordPress. Au lieu des erreurs génériques HTTP 502 ou des dépassements de temps, l’outil APM vous fournit une ventilation détaillée des requêtes lentes.

Avec l’outil APM de Kinsta, vous pourrez déboguer les problèmes de performance sans installer d’extension comme Query Monitor ou activer un service tiers comme New Relic.

Si vous travaillez avec un développeur pour résoudre des problèmes sur votre site WordPress, l’outil APM de Kinsta peut également vous aider à gagner du temps et de l’argent en vous fournissant un point de départ.