MARKETING

Pourquoi la surveillance des transactions est meilleure que la surveillance de la disponibilité (et comment bien le faire)

Salut,

Lors de notre immersion au sein du web, nous avons parcours divers articles dont celui ci qui nous a semblé digne d’être reporté merci et bonne lecture à tous.https://royal.pingdom.com/why-transaction-monitoring-is-better-than-uptime-monitoring-and-how-to-do-it-well/

Les contrôles de disponibilité sur le Web vous indiquent si une seule page se charge correctement et combien de temps cela prend. C’est un bon début, mais les utilisateurs interagissent souvent avec de nombreuses pages et effectuent des transactions complètes. Par exemple, ils peuvent vérifier dans un magasin de commerce électronique, réserver une chambre d’hôtel ou publier un article de blog. Une interruption de l’une de ces étapes empêche les clients d’utiliser votre service. Pour examiner de plus près l’expérience utilisateur, vous devez surveiller des transactions complètes.

Dans cet article, nous allons vous montrer comment surveiller en continu des transactions comportant plusieurs étapes. Vous apprendrez à les suivre depuis l’interface utilisateur frontale jusqu’à votre infrastructure back-end. Vous verrez comment identifier quelle étape est à l’origine des erreurs et comment optimiser les performances.

Qu’est-ce qu’une transaction?

Vous effectuez des transactions tous les jours, même si vous ne le connaissez pas. Par exemple, lorsque vous effectuez un achat dans une boutique en ligne, vous devez suivre plusieurs étapes, dont l’ajout de l’article à votre panier, l’ajout de votre adresse postale et de vos informations de paiement, ainsi que la confirmation de la commande. Si l’une de ces étapes échoue, vous ne pouvez pas acheter l’article.

En informatique, une transaction est un concept abstrait pour un ensemble d’opérations effectuées ensemble. Si l’une des étapes de l’ensemble des opérations échoue, la transaction dans son ensemble échoue. De même, chaque étape doit réussir pour que la transaction aboutisse.

La capacité des clients à effectuer des transactions est essentielle au succès des entreprises. Si les clients ne peuvent pas acheter via le magasin en raison d’erreurs dans une étape ou si le chargement est trop long, le produit risque alors d’être affecté négativement. C’est pourquoi la surveillance des transactions est si importante.

Alors, quelle est la surveillance des transactions?

Vous pouvez surveiller une transaction de plusieurs manières. Tout d’abord, vous pouvez observer les transactions effectives sur votre site Web et suivre des statistiques sur le pourcentage de réussite et la durée de ces dernières. Lorsque vous constatez une baisse de votre taux de réussite, vous devez déterminer si c’est parce que le site est en panne ou tout simplement parce que vous êtes en rupture de stock, qu’une promotion s’est terminée, etc. Une solution de surveillance des erreurs ou des journaux vous informera des services endommagés.

La deuxième façon de surveiller les transactions consiste à les simuler synthétiquement . Vous pourriez avoir un processus informatique qui tente d’acheter un article dans le magasin automatiquement et selon un horaire régulier. Cela vous indiquera si les transactions échouent à cause d’un problème technique.

Lorsque vous surveillez les transactions, vous obtenez plusieurs informations utiles. Vous pouvez voir le taux de réussite global et le temps nécessaire au traitement de la transaction. Vous pouvez également programmer chaque étape pour voir laquelle exécute le plus lent. En outre, vous pouvez suivre ces informations sur le serveur frontal du point de vue de l’utilisateur et sur le serveur principal lorsque votre infrastructure traite la transaction. En bout de ligne, cela s’appelle également «traçage distribué», car vous souhaitez suivre toutes les étapes à mesure qu’elles sont traitées dans votre infrastructure, même si elles sont réparties entre plusieurs services.

Par exemple, supposons que l’utilisateur tente de réserver une chambre d’hôtel en ligne. Pour l’utilisateur, cela ressemble à une action unique. Toutefois, l’arrière-plan comporte plusieurs étapes. Le système doit vérifier que vous êtes connecté, vérifier si le type de chambre est disponible, réserver cette chambre pendant votre achat, calculer le prix et appliquer des remises, etc. Cela nécessite probablement une interaction avec plusieurs services back-end, notamment des services chargés de l’information des utilisateurs, des réservations de salles, des tarifs, etc. Chacun de ces appels de service doit être surveillé afin de déterminer son succès et son délai d’exécution. Si l’utilisateur attend si longtemps qu’il abandonne sa session, vous pouvez voir exactement quel service était responsable.

Comment surveiller les transactions avec Pingdom

SolarWinds ® Pingdom ® est plus qu’un outil de vérification de la disponibilité ou de la disponibilité. Il peut également surveiller les transactions en plusieurs étapes. Pour ce faire, il simule l’ensemble des étapes suivies par un utilisateur et vérifie si elles ont été effectuées avec succès.

Regardons un exemple avec un site de réservation d’hôtel. Essayons de réserver une chambre au Ritz à Paris pour le week-end (oh là là)! Nous sélectionnons l’hôtel, puis le type de chambre qui nous intéresse, puis nous obtenons un message d’erreur laide! Je pourrais facilement réserver cette salle sur booking.com à la place, ce qui signifie une perte de revenus pour notre site. C’est exactement le type de transaction que nous voulons que Pingdom surveille. Nous saurons donc immédiatement s’il ya un problème.

Pingdom peut surveiller ces transactions en configurant un ensemble d’étapes à exécuter dans la page Web, ainsi qu’une règle de validation nous indiquant si elle a abouti. Ci-dessous, vous pouvez voir un rapport d’analyse de cause première pour une transaction que j’ai configurée. Vous pouvez voir chacune des étapes effectuées, y compris le chargement de la page Web, les clics sur le Ritz et la validation. Cependant, il sait que la transaction échoue car elle contient le message d’erreur «quelque chose s’est mal passé».

Analyse des causes fondamentales de Pingdom.

Certaines personnes pensent peut-être que l’ignorance est un bonheur, mais pas moi. Je suis incroyablement curieux de savoir pourquoi quelque chose s’est mal passé. Si je suis responsable de l’exploitation de ce site Web, c’est plus que de la curiosité. Vous pouvez parier que mon patron sera sur mon cas, aussi! Nous allons plonger un peu plus profondément pour découvrir ce qui s’est passé dans notre infrastructure backend.

Approfondissez vos connaissances en traçant les erreurs dans SolarWinds AppOptics

SolarWinds AppOptics ® est un outil de surveillance de la performance des applicationset de l’ infrastructure (à ne pas manquer!)! Fondamentalement, il s’accroche aux applications et peut surveiller les transactions en cours d’exécution en temps réel. Dans la capture d’écran ci-dessous, vous pouvez voir qu’il a automatiquement identifié plusieurs petites transactions se produisant dans le code. Je peux voir que achetecontroller.new a un taux d’erreur de 100%! Vous voulez parier que c’est ce qui échoue lorsque j’essaie d’acheter une chambre?

Transactions AppOptics.

Je peux cliquer sur cette transaction pour obtenir plus de détails à ce sujet. Plus précisément, je veux voir une trace de la transaction en cours d’exécution sur le backend. Cela me dira plus de détails sur la cause de l’erreur.

Vue des requêtes suivies par AppOptics affichant une erreur en bas.

À présent, je peux voir le message d’erreur en bas indiquant «Échec de l’ouverture de la connexion TCP avec auth.neta-suites.com:9090 (getaddrinfo: nom ou service inconnu)». Il semble que l’entrée DNS du service d’authentification est manquante. Cela peut être dû au fait que le service ne fonctionne pas ou qu’il n’a pas été configuré correctement.

Cette trace était anormale car un message d’erreur avait été émis. Il était donc très court. Il n’a fallu qu’environ 90 millisecondes pour échouer. Maintenant, examinons une transaction en plusieurs étapes pour voir si nous pouvons l’améliorer.

Optimiser les performances des transactions

Les voyageurs du monde entier qui se rendent à Paris et qui séjournent au Ritz n’attendront pas un site Web lent. De plus, plus nous passons de temps à exécuter des demandes, plus nous devons investir dans l’infrastructure, ce qui grève notre marge bénéficiaire. Voyons à quelle vitesse nous répondons avec la page de détails de l’hôtel. Nous pouvons utiliser le traçage distribué pour identifier la durée de traitement de chaque étape.

Traçage distribué par AppOptics.

Ci-dessus, nous pouvons voir chaque étape exécutée lors du chargement de la page de détails de l’hôtel. La durée totale était de 915 millisecondes, ce qui est lent lorsque vous multipliez par des milliers de pages vues. En examinant la répartition des traces, nous constatons qu’il s’agit d’une application Rack (représentée par la ligne verte) exécutée sur Ruby on Rails. Faraday est une bibliothèque client HTTP qui appelle le service de réservation, qui est une application Java Spring. Le service de réservation charge ensuite les détails de l’hôtel à partir de la base de données MongoDB. Il le fait plusieurs fois, car il charge d’abord les données de l’hôtel, puis celles de chaque type de chambre.

Si nous cherchions à améliorer les performances de nos applications, une solution pourrait consister à regrouper les requêtes dans une requête de base de données au lieu de plusieurs requêtes indépendantes. Ceci est également connu sous le nom de problème de base de données n + 1 . Interroger chaque type de chambre indépendamment nécessite plusieurs appels à la base de données, ce qui entraîne également plusieurs appels via notre pile de services. Si nous chargions tous les types de salles dans une même requête, nous pourrions réduire notre temps de latence d’environ 40%. Un simple changement à ma requête peut améliorer les performances de l’application, et donc nos coûts d’infrastructure et l’expérience client.

Sans suivi des transactions, j’examinerais indépendamment le temps d’attente de chaque appel et mes métriques ou fichiers journaux. Je verrais que parfois mes requêtes MongoDB se terminent très rapidement, comme la troisième qui a probablement été mise en cache. Regarder chacun de ces appels indépendamment ne me donne pas beaucoup d’informations. Cependant, le fait d’avoir une vue globale de l’ensemble de la transaction montre clairement que les appels supplémentaires ajoutent beaucoup de temps inutile à la demande. Vous ne pouvez optimiser que ce que vous voyez, et AppOptics vous montre la situation dans son ensemble.

Conclusion

Les contrôles de disponibilité constituent un bon point de départ pour surveiller la disponibilité de votre site. Cependant, la capacité de suivre les transactions nous donne des informations beaucoup plus approfondies sur les problèmes qui affectent les utilisateurs. Pour contrôler si les clients peuvent effectuer des achats, nous pouvons contrôler chaque étape de la transaction à l’aide de Pingdom.

En cas de problème lié à des erreurs ou à une latence, nous pouvons utiliser des outils tels que AppOptics pour savoir exactement où se situe le problème dans notre infrastructure dorsale. Cela nous donne une image holistique à travers toutes les étapes afin que nous puissions corriger les bugs et optimiser le système. C’est beaucoup plus puissant que de regarder des métriques ou des instructions de journal individuelles. Si vous ne possédez pas de suivi des transactions pour vos services en ligne, envisagez dès aujourd’hui de vous inscrire dès aujourd’hui pour un essai gratuit de Pingdom ou AppOptics de SolarWinds.

 

 

 

 

 

 

communication strategies

Communiquons autrement et étendons notre Horizon.

La bonne communication ne s’improvise pas, elle se construit avec minutie pour positionner votre marque.

Nous restons à votre disposition pour des échanges à cet effet.

Merci

African quotation

Publicités

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s