Objectifs
À la fin de ce tutoriel, vous :
- Comprendre les transactions et les tracer
- Identifier les transactions problématiques
- Examinez et optimisez les segments problématiques de votre application
Le quoi et le pourquoi des transactions
L'activité des clients dans votre application Web crée des itinéraires à travers votre code qui commencent lorsqu'une application reçoit une demande Web et se terminent lorsqu'une réponse est renvoyée. Ces itinéraires sont des transactions, ou une unité de travail composée d’appels de fonctions et d’appels de méthodes.
Pensez à un moment commercial critique, comme le paiement d’un achat par un client. Si un client signale que son paiement n'a pas été traité ou a été traité après un retard important, vous ne pouvez que deviner la cause de cet échec. Une API a-t-elle provoqué l'échec ou s'agissait-il d'un débogage récent déclenché plus tôt dans la journée ?
Observer les transactions pour améliorer les performances
Notre interface utilisateur de transactions vous aide à diagnostiquer la source d'un problème afin que vous puissiez améliorer les performances de transactions spécifiques. Les étapes suivantes vous guident pour identifier les transactions lentes et améliorer les performances de vos applications :
Accédez à l'interface utilisateur des transactions : Accédez à one.newrelic.com > (select an app) > Monitor > Transactions
Trouvez vos transactions lentes :
- Triez vos transactions par ordre de temps le plus long en haut de la page.
- Jetez un œil au graphique Top 20 transactions . Cette liste représente la meilleure opportunité de réduire la charge de votre application. En réduisant le temps consacré à ces transactions fréquemment appelées, vous réduirez l'empreinte de votre application, car il s'agit requests à volume élevé. Prenez note des quelques transactions les plus importantes dans ce graphique.
- Triez vos transactions par réponse moyenne la plus lente en haut de la page.
- Jetez à nouveau un œil au graphique Top 20 transactions . Ce graphique montre désormais le temps moyen par requête à partir du volume total d'une requête particulière. Prenez note des quelques transactions les plus importantes dans ce graphique.
Améliorez vos performances
Vous avez identifié les transactions susceptibles de provoquer des retards dans votre code, mais connaître un problème n'est pas la même chose que trouver une solution pour vos clients. Grâce aux transactions identifiées ci-dessus, vous pouvez trouver une répartition de l'endroit dans votre code où cet itinéraire particulier passe le plus de temps.
Pour chacune de vos transactions, cliquez sur leur nom dans le top 20 du graphique et procédez comme suit :
- Consultez le tableau de répartition des segments. Cela montre où votre demande passe le plus clair de son temps. Si, en moyenne, un itinéraire bloque dans une partie de votre code, concentrez-vous sur l'optimisation de ce segment.
- Vérifiez la table de trace de transaction et récupérez votre trace la plus lente. Bien que vos traces les plus lentes soient des valeurs hors norme, elles constituent de bons indicateurs des méthodes, de la base de données ou des appels HTTP qui ont le plus d'impact sur les performances de votre application.
Vous devriez maintenant avoir une liste de méthodes lentes, requests ou d’autres parties de votre code qui ne fonctionnent pas bien. Vient maintenant la partie amusante : le codage proprement dit. Testez un correctif dans votre code, puis passez à la section suivante pour vérifier votre travail.
Vérifiez votre travail
Vous avez identifié le problème et trouvé une solution potentielle. Envoyez votre correctif au développement, puis exécutez un test de charge typique pour avoir une idée de la manière dont votre application fonctionnera en production.
Pendant que vous monitorez votre temps de réponse, gardez un œil attentif sur les transactions de votre application.
- Vos transactions sont-elles normales ? C'est fait !
- Est-ce qu'ils se sont améliorés ? Utilisez ce que vous avez appris pour comprendre pourquoi ils se sont améliorés au-delà de la normale.
- Constatez-vous toujours des temps de réponse lents ? Il y a peut-être un problème de base de données ou peut-être que vos services externes fonctionnent lentement :