L’outil APM de Kinsta

L’outil APM de Kinsta vous aide à identifier les goulots d’étranglement de performance 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 s’avérer très utile lors du dépannage de 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 base de données MySQL, les appels HTTP externes, et plus encore.

Avec les données APM, vous pouvez creuser dans les 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 :

Gardez à l’esprit que l’outil APM de Kinsta est spécifiquement conçu pour vous aider à surveiller les sites WordPress, donc l’utiliser pour surveiller un site fonctionnant sur un autre CMS ou framework peut donner des résultats inexacts. Nous vous recommandons donc de ne l’utiliser que 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ête

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

Par exemple, une requête vers yourdomain.com/wp-cron.php?arg=1&arg2=2 déclenchera une transaction /wp-cron.php.

Transaction

Une transaction fait référence à l’activité du backend 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

Une portée fait référence à un processus individuel dans une transaction. Une seule transaction peut être constituée de centaines de portées disposées de manière hiérarchique.

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ête de base de données.

Échantillon de transaction

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

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

Trace de transaction

Une trace de transaction est une chronologie complète de tous les processus qui se sont produits dans un échantillon de transaction. Dans notre outil APM, une trace de transaction est représentée par une liste d’intervalles avec leur durée correspondante et les informations d’horodatage.

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

Trace de pile

Une trace de pile est une décomposition détaillée du processus pour une plage 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.

Activer l’outil APM de Kinsta

Par défaut, l’outil APM est désactivé. Puisque l’outil APM nécessite des ressources de serveur supplémentaires, nous 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, naviguez jusqu’à l’onglet APM de votre site, et cliquez sur le bouton Activer APM.

Cliquez sur le bouton Activer APM pour activer la surveillance de la performance des applications dans MyKinsta.
Cliquez sur le bouton Activer APM pour activer la surveillance de la performance des applications 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 les performances de votre site, nous ne recommandons pas de le laisser activé pendant une période prolongée. Une fois que vous avez sélectionné une durée de surveillance, cliquez sur Activer la surveillance pour démarrer l’APM.

Sélectionnez la durée de surveillance de l'APM et activez-la.
Sélectionnez la durée de surveillance de l’APM et activez-la.

Laissez 5 à 10 minutes à l’outil pour commencer à collecter des données, que vous pourrez ensuite consulter dans l’onglet APM.

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

Désactiver la surveillance de la performance des applications dans MyKinsta.
Désactiver la surveillance de la performance des applications dans MyKinsta.

Sélectionner une période de données de surveillance

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

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

Pour modifier ce réglage, cliquez sur le bouton de la plage horaire en haut à droite de la page APM et sélectionnez une option dans la fenêtre modale/openup qui s’affiche. Cliquez sur le bouton Appliquer la période pour définir la nouvelle période.

Modifiez le cadre temporel des données de surveillance de l'APM.
Modifiez le cadre temporel des données de surveillance de l’APM.

Rafraichir les données de surveillance

L’outil APM de Kinsta affiche les données de surveillance de la performance en fonction de la période définie (par exemple, les 30 dernières minutes, les 60 dernières minutes, etc.) Pour éviter toute confusion, l’outil APM ne rafraîchit pas automatiquement les données. Pour actualiser l’outil APM et afficher les dernières données de la période sélectionnée, cliquez sur l’icône d’actualisation (refaire) à côté du bouton de la période.

Cliquez sur l'icône de rafraîchissement pour mettre à jour les données de surveillance de Kinsta APM.
Cliquez sur l’icône de rafraîchissement pour mettre à jour les données de surveillance de Kinsta APM.

Lire les aperçus de l’outil APM

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 rassembler 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, vous trouverez des informations clés dans les onglets Transactions, WordPress, Base de données et Externes, que nous examinerons plus en détail ci-dessous.

Données APM de Kinsta : Transactions, WordPress, Base de données et Externe.
Données APM de Kinsta : Transactions, WordPress, Base de données et Externe.

Il y a quelques colonnes communes 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 au cours de la période sélectionnée. Le pourcentage de durée est calculé à partir des valeurs de durée totale (la somme de la durée de toutes les requêtes adressées à un point de terminaison particulier), de sorte qu’il ne représente pas la durée d’un échantillon de transaction individuel.
  2. Durée totale : La durée totale consommée 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 adressées à un point de terminaison particulier et ne représente pas la durée d’un échantillon de transaction individuel.
  3. Durée maximum : La durée de l’échantillon de transaction le plus lent de la période sélectionnée.
  4. Durée moyenne : La durée de l’échantillon de transaction la plus lente de la période sélectionnée. Durée : La moyenne de toutes les durées d’échantillon de transaction de la période sélectionnée.
  5. Taux par minute : Le nombre de fois qu’une transaction a été exécutée en moyenne par minute dans la période sélectionnée.

Au fur et à mesure que vous naviguez dans les données, vous verrez également ces détails communs :

Échantillons de transactions

Lorsque vous cliquez sur une transaction, une fenêtre modale s’affiche, contenant jusqu’à trois échantillons de transactions pour la période sélectionnée.

  1. Échantillon le plus lent : L’échantillon de transaction le plus lent.
  2. 95e percentile : une transaction dans le 95e percentile (95 % des transactions sont plus rapides que cet échantillon).
  3. 50e percentile : Une transaction dans le 50e percentile (50 % des transactions sont plus rapides que cet échantillon de transactions), é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 celui-ci.
La fenêtre modale de l'échantillon de transaction dans l'outil APM.
La fenêtre modale de l’é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 centile.

La fenêtre modale/popup des échantillons de transaction affiche également des informations utiles sur chaque échantillon de transaction, notamment l’horodatage, le point de terminaison de la 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 fenêtre modale, vous accèderez à une page dédiée à l’échantillon sélectionné. Cette page comprend l’horodatage de l’échantillon, le point de terminaison de la transaction, l’URL, la durée, le code d’état HTTP et une chronologie complète de la trace de la transaction.

Échantillon de transaction avec la chronologie de la trace dans l'APM de Kinsta.
Échantillon 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. Resultat : Le code d’état HTTP de la transaction. Si vous obtenez un résultat « HTTP 200 », cela signifie que la transaction a été lente mais qu’elle a finalement réussi. En revanche, si vous obtenez un résultat « HTTP 503 », cela peut signifier que la transaction a été interrompue.

Chaque échantillon de transaction possède son propre permalien ou URL unique. Cela facilite la référence et le partage d’un échantillon de transaction spécifique avec vos collègues, un développeur ou l’équipe d’assistance de Kinsta. Note : Votre collègue ou développeur devra avoir accès au site dans MyKinsta afin de visualiser l’échantillon de transaction.

Lien permanent de l'échantillon de transaction.
Lien permanent de l’échantillon de transaction.

Chronologie de la trace de la transaction

En plus des informations de base sur les transactions, l’outil APM vous offre également une chronologie plus détaillée de la trace des transactions. Dans la chronologie de la trace de transaction, vous pouvez voir une présentation étape par étape des portées – processus PHP, requêtes de base de données MySQL et appels externes pour un échantillon de transaction particulier.

Vous pouvez trier les périodes par durée (temps) ou par durée (%) par ordre croissant ou décroissant en cliquant sur le nom de la colonne. Cette fonction est utile pour identifier rapidement les transactions les plus longues.

Chaque plage de temps est également associée à une durée et à un horodatage relatif, 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 intervalles d’une durée supérieure à 5 % sont indiqués en orange
  • Les plages d’une durée supérieure à 25 % sont indiquées en rouge

Ces mises en évidence font toujours référence à la durée relative de l’intervalle dans le contexte de son propre échantillon. Si vous voyez quelque chose en rouge, tenez compte du fait que c’est toujours par rapport à 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 périodes non liées aux bases de données, le seuil est de 1 ms. Nous excluons volontairement les périodes 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 transaction pour un échantillon de transaction.
Chronologie de la trace de 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 permet de déterminer avec précision l’origine du goulot d’étranglement.

Par exemple, vous pouvez remarquer que la lenteur lors de la requête de /wp-admin/admin-ajax.php est causée par de longues requêtes aux API des réseaux sociaux. Fort de cette connaissance, vous pouvez continuer à tester votre site en désactivant votre extension sociale pour voir si cela fait une différence.

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

Détails des portées

Si vous cliquez sur une portée dans la chronologie de la trace de la transaction, vous pourrez voir une vue d’ensemble détaillée avec une trace de pile complète 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 ainsi que la trace de pile. En inspectant les détails de la portée, vous pouvez obtenir un aperçu plus approfondi des transactions PHP sur votre site WordPress.

Détails d'une portée dans la chronologie de la trace de la transaction.
Détails d’une portée dans la chronologie de la trace de la transaction.

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 ci-dessous sur l’utilisation de l’outil APM de Kinsta pour diagnostiquer les problèmes de performance.

Suivi des résultats

Sur chacun des onglets de la page APM, vous pouvez voir 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

L’histogramme du temps global detransaction vous donne une représentation visuelle des données sur le temps de transaction pour la période sélectionnée. Chaque barre est composée d’une répartition multicolore des temps de transaction PHP, MySQL, Redis et externe. Le graphique du temps de transaction global indique également le temps de transaction moyen de la période sélectionnée dans le coin supérieur droit.

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

Transactions les plus lentes

Les dix transactions PHP les plus lentes apparaissent dans la section Transactions les plus lentes, sous le graphique à barres du temps de transaction global. En plus des colonnes communes, la première colonne de ces données est la colonne Transaction, qui affiche le point de terminaison 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

Dans l’onglet WordPress, vous trouverez des données spécifiques aux extensions et hooks WordPress.

Plugins WordPress les plus lents

Les extensions enregistrées les plus lentes sont listées en haut avec le slug (nom de dossier/répertoire) de l’extension dans la première colonne, puis le reste des colonnes de données communes. Vous pouvez cliquer sur chaque extension pour voir les échantillons de transaction et 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.

Hooks WordPress les plus lents

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 verrez apparaitre les échantillons de transaction, où vous pourrez 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 relatives aux requêtes de base de données les plus lentes et aux 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. Si vous cliquez sur une requête, les échantillons de transaction s’afficheront et vous pourrez naviguer plus avant dans chaque échantillon de transaction, la chronologie de la trace, les détails de l’étendue et la trace de la pile.

Cache Redis le plus lent

Pour les sites disposant de l’extension Redis, les détails relatifs au cache Redis peuvent être trouvés 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 verrez apparaitre les échantillons de transaction, où vous pouvez naviguer plus avant dans chaque échantillon de transaction individuel, la chronologie de la trace, les détails de l’étendue et la trace de la pile.

Externes

Les données relatives aux requêtes externes effectuées par votre site se trouvent dans l’onglet Externe. Les requêtes externes sont des requêtes HTTP effectuées par votre site vers 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 verrez apparaitre les échantillons de transaction, où vous pourrez naviguer plus avant dans chaque échantillon de transaction individuel, la chronologie de la trace, les détails de la portée et la trace de la pile.

Diagnostiquer les problèmes de performance

L’outil APM de Kinsta est un outil puissant pour dépanner votre site web. Cet article vous guidera à travers quelques scénarios différents pour résoudre les problèmes de performance sur un site en utilisant l’outil APM pour enquêter et analyser les problèmes.

Premiers pas

Avant de plonger plus avant dans l’utilisation de l’outil APM pour résoudre un problème, vous devez suivre quelques étapes, quel que soit le problème :

  1. Assurez-vous de pouvoir recréer le problème s’il ne se produit pas actuellement. Recherchez des schémas pour savoir quand le problème se produit ou si des actions spécifiques semblent déclencher le problème (par exemple, la modification d’une page, l’ajout d’un produit à un panier de commerce électronique, le téléversement d’images, etc.)
  2. Activez l’outil APM dans MyKinsta et donnez-lui quelques minutes pour commencer à collecter des données. L’outil APM ne peut enregistrer et analyser des données que lorsqu’il est activé.
  3. Une fois que l’outil APM commence à collecter des données, recréez le problème pour enregistrer les informations nécessaires.
  4. Si Redis est activé sur votre site, assurez-vous d’utiliser l’extension WP Redis ou Redis Object Cache (mais pas les deux). Il se peut que nous ne soyons pas en mesure de collecter et d’afficher les données Redis provenant d’autres extensions dans l’outil APM de Kinsta.

Analysez les pages ou les actions qui se chargent lentement

Dans cet exemple, les pages se chargent rapidement, mais tout se ralentit lorsque vous ajoutez un produit au panier, qu’il s’agisse d’un produit simple ou d’un produit variable.

Après avoir ajouté quelques produits au panier, nous regardons les résultats dans APM (Sites WordPress > Nom du site > APM) et constatons que la transaction /single-product est en tête de liste des transactions les plus lentes, avec une durée maximale de plus de 5 secondes et une durée moyenne de plus de 2 secondes.

Sélectionnez la transaction d'un seul produit en haut de la liste des transactions les plus lentes dans APM.
Sélectionnez la transaction d’un seul produit en haut de la liste des transactions les plus lentes dans APM.

En cliquant sur cette transaction, vous ouvrez la fenêtre modale/open d’échantillons de transactions dans laquelle vous pouvez sélectionner la transaction la plus lente (la première de la liste) pour obtenir plus de détails.

Sélectionnez l'échantillon le plus lent dans la liste des échantillons de transaction.
Sélectionnez l’échantillon le plus lent dans la liste des échantillons de transaction.

Cela nous amène à la chronologie de la trace des transactions, où nous pouvons trier les transactions par durée (temps) pour voir quels processus de cet échantillon de transaction sont les plus lents. Ici, nous pouvons voir que l’étendue update_card_payment est le processus le plus lent de la chronologie, occupant 5 002,21 ms d’une transaction de 5 535,61 ms.

L'intervalle de temps update_card_payment occupe 5 002,21 ms de la transaction.
L’intervalle de temps update_card_payment occupe 5 002,21 ms de la transaction.

En cliquant sur cette portée, vous ouvrez la fenêtre modale/popup des détails de la portée et vous obtenez la trace de la pile de la portée.

Affichez les détails du span, y compris la trace de la pile.
Affichez les détails du span, y compris la trace de la pile.

Nous pouvons voir que le hook WordPress action:woocommerce_add_to_cart est associé à cette portée dans les détails de la portée.

Il y a plusieurs façons de trouver l’extension ou le thème auquel il est associé.

Si vous êtes à l’aise avec la ligne de commande, vous pouvez utiliser la commande grep pour rechercher la fonction update_card_payment et voir quels fichiers d’extensions ou de thèmes contiennent cette fonction.

Vous pouvez également consulter l’onglet WordPress sous Résultats de surveillance et rechercher une extension dont la durée totale et la durée maximale sont similaires. Elle se trouvera très probablement en haut de la liste.

Affichez les extensions WordPress les plus lentes dans l'onglet WordPress de la section Résultats de surveillance.
Affichez les extensions WordPress les plus lentes dans l’onglet WordPress de la section Résultats de surveillance.

Vous pouvez confirmer la correspondance en sélectionnant l’extension dans la liste des extensions WordPress les plus lentes. Si l’extension n’est pas listée dans la colonne des plugins WordPress dans la fenêtre modale des échantillons de transactions, sélectionnez l’échantillon de transaction le plus lent pour afficher la chronologie de la trace de la transaction.

Sélectionnez l'échantillon de transaction le plus lent pour afficher la chronologie de la trace de la transaction.
Sélectionnez l’échantillon de transaction le plus lent pour afficher la chronologie de la trace de la transaction.

Triez la chronologie par durée et recherchez le même nom de fonction (par exemple update_card_payment) en haut de la liste ou à proximité.

Triez la chronologie par durée et recherchez le nom de la fonction dans la colonne Portées.
Triez la chronologie par durée et recherchez le nom de la fonction dans la colonne Portées.

Examiner la lenteur générale

La lenteur générale d’un site est souvent due à une extension et c’est l’un des premiers points à vérifier. Si une extension est à l’origine de la lenteur de votre site, vous pouvez généralement l’identifier en consultant l’onglet WordPress (Sites WordPress > Nom du site > APM > WordPress). Dans la capture d’écran ci-dessous, notez que le pourcentage de durée totale de l’extension mis en évidence est supérieur à 98 %, et que les durées maximale et moyenne sont assez élevées.

Voir le pourcentage de durée totale, la durée maximale et la durée moyenne d'une extension.
Voir le pourcentage de durée totale, la durée maximale et la durée moyenne d’une extension.

Cela indique que cette extension est la source la plus probable de la lenteur globale du site. Pour le confirmer, nous pouvons désactiver l’extension, observer les performances du site et vérifier à nouveau les résultats dans l’outil APM une fois que suffisamment de données ont été collectées. Si vous êtes sûr que l’extension est configurée correctement mais qu’il continue à causer des lenteurs sur votre site, nous vous recommandons de contacter le développeur de l’extension pour travailler avec lui à la résolution du problème.

Identifier les problèmes tiers intermittents

Les requêtes externes sont des requêtes HTTP adressées par le site à un autre serveur (tiers). Les extensions ou les thèmes effectuent généralement ces requêtes pour charger des scripts ou des feuilles de style ou pour communiquer avec une API.

Lors du dépannage d’un éventuel problème externe, il est important de noter que l’outil APM enregistre les transactions externes lentes côté serveur. De nombreuses requêtes externes peuvent être effectuées à partir d’un site côté client, qui ne seraient pas enregistrées dans l’outil APM. Pour étudier les requêtes externes côté client, vous devrez utiliser un outil comme GTmetrix ou les outils de développement de votre navigateur.

Pour afficher les requêtes externes lentes, allez dans l’onglet Externes sous Résultats de surveillance pour afficher les requêtes externes les plus lentes. Dans cet exemple, nous avons remarqué une certaine lenteur lors du téléversement d’images dans la bibliothèque multimédia, certains téléversements prenant 5 minutes ou plus.

Nous commençons par regarder à quoi ressemblent les requêtes externes lorsque nous ne faisons rien d’autre que de nous connecter au tableau de bord de WordPress. Avant de téléverser des images dans la médiathèque, les requêtes POST à wp-cron sont les plus lentes, avec une durée maximale de 273,78 ms et une durée totale de 1 957,81 ms.

Requêtes externes les plus lentes dans APM.
Requêtes externes les plus lentes dans APM.

Lorsque nous téléversons plusieurs images d’une taille comprise entre 3 et 17 Mo, il faut plusieurs minutes pour que le téléversement soit terminé. En examinant à nouveau les requêtes externes, nous constatons que les requêtes POST vers smushpro.wpmudev.com sont les requêtes externes les plus lentes, avec une durée maximale de 1 703,14 ms et une durée totale de 82 710,85 ms.

Mise à jour des requêtes externes les plus lentes après le téléversement et l'optimisation des images.
Mise à jour des requêtes externes les plus lentes après le téléversement et l’optimisation des images.

En cliquant sur cette transaction, vous ouvrez la fenêtre modale/open d’échantillons de transactions, dans laquelle vous pouvez sélectionner la transaction la plus lente (la première de la liste) pour obtenir plus de détails.

Sélectionnez l'échantillon de transaction le plus lent dans les requêtes externes.
Sélectionnez l’échantillon de transaction le plus lent dans les requêtes externes.

Cela nous amène à la chronologie de la trace de la transaction, où nous pouvons trier les transactions par durée (temps) pour voir quelles sont les périodes les plus lentes. Ici, nous pouvons voir que plusieurs requêtes POST vers smushpro.wpmudev.com sont les plus lentes dans cet échantillon, avec le total de ces requêtes POST occupant 6 712,64 ms d’une transaction de 7 168,58 ms.

Visualisez toutes les requêtes adressées à smushpro.wpmudev.com dans une chronologie de transactions.
Visualisez toutes les requêtes adressées à smushpro.wpmudev.com dans une chronologie de transactions.

Nous pouvons également observer que la durée de chaque requête varie de manière significative, la requête la plus courte ne prenant que 138,2 ms et la plus longue 1 703,14 ms. Ainsi, pendant que l’extension Smush optimise nos images, chacune de ces images génère une requête externe, ce qui s’accumule et peut ralentir le site.

Dans ce cas, optimiser nos images avant de les téléverser au lieu de s’appuyer sur une extension pour l’optimisation des images réduirait considérablement le nombre de requêtes externes. C’est l’un des cas où nous devons décider ce qui est le plus important, la commodité ou les performances du site. Nous pouvons conserver le plugin si nous sommes d’accord avec la lenteur nécessaire causée par les requêtes externes. Si nous préférons ou devons améliorer les performances de notre site, la suppression de l’extension et l’optimisation de nos images avant leur téléversement seront notre meilleure option.

FAQ APM

Nous avons compilé quelques questions populaires concernant l’APM et y avons apporté des réponses 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 à MyKinsta.
  2. Sélectionnez le site web que vous souhaitez déboguer.
  3. Cliquez sur l’onglet Surveillance.
  4. Cliquez sur le bouton Activer APM pour démarrer l’outil APM.

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

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

Nous recommandons fortement de n’activer l’APM que lorsque vous diagnostiquez activement un problème de performance sur votre site.

Est-ce que Kinsta prend toujours en charge la surveillance New Relic personnelle pour les clients ayant des licences New Relic personnelles ?

Oui, les sites Kinsta prennent toujours en charge la surveillance New Relic pour les clients disposant d’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, vous pouvez passer de l’APM à 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 cadres CMS ? L’APM est-il compatible avec d’autres plateformes et frameworks CMS ?

Pour le moment, l’APM n’est compatible qu’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 d’un site Bedrock après avoir ajouté la configuration prepend :

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

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

Nous avons déjà fait des tests approfondis avec différentes versions de WordPress et une longue liste d’extensions. Cependant, il peut toujours 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 fonctionnalité, vérifiez toujours que votre site fonctionne correctement. Si vous constatez un comportement inattendu, désactivez la fonctionnalité et informez-nous 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 datant de plus de 24 heures, cliquez sur le bouton de cadre temporel en haut à droite de la page APM, allez à l’onglet Absolu dans la fenêtre modale/open de sélection du cadre temporel, sélectionnez un cadre temporel de 24 heures dans les 14 derniers jours et cliquez sur le bouton Appliquer le cadre temporel.

Résumé

L’outil APM de Kinsta donne un contexte aux problèmes de performance sur votre site WordPress. Au lieu d’erreurs HTTP 502 génériques ou de délais d’attente, l’outil APM fournit des analyses détaillées des requêtes lentes.

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

Si vous travaillez avec un développeur pour résoudre les problèmes de 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.

Cet article vous a été utile ?