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 :
- Comment résoudre les problèmes de performance de WooCommerce à l’aide de l’APM de Kinsta
- Comment résoudre les problèmes de vitesse de votre site web d’adhésion avec l’outil APM de Kinsta
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.
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.
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.
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.
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.
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 page APM 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.
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 (redo) à côté du bouton de la période.
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.
Après cela, des aperçus clés peuvent être trouvés dans les onglets Transactions, WordPress, Base de données et Externe, que nous allons évaluer plus en détail ci-dessous.
Il y a quelques colonnes courantes que vous verrez sur chaque onglet :
- 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.
- 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.
- Durée maximale – la durée de l’échantillon de transaction la plus lente par rapport à la période sélectionnée.
- Moyenne des durées – la moyenne des durées de tous les échantillons de transactions à partir de la période sélectionnée.
- 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.
- Échantillon le plus lent – l’échantillon de transaction le plus lent.
- 95ème pourcentage – une transaction se situant dans les 95 % (95 % des transactions sont plus rapides que cet échantillon de transaction).
- 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.
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.
- Horodatage – la date et l’heure de l’échantillon de transaction.
- Transaction – le point de terminaison PHP de l’échantillon de transaction (par exemple /wp-cron.php, /single.php, etc.).
- URL – l’URL spécifique de l’échantillon de transaction.
- Durée – la durée de l’échantillon de transaction en millisecondes.
- 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.
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.
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.
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 la page APM, 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.
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.).
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, 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 :
- Se connecter à MyKinsta
- Sélectionnez le site web que vous souhaitez déboguer
- Cliquer sur l’onglet Surveillance.
- 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 page APM, 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.