Objectifs
À la fin de ce tutoriel, vous :
- Identifier les requêtes de base de données lentes
- Comprendre comment résoudre une requête de base de données lente
- Comprendre comment utiliser l'interface utilisateur de la base de données
Pourquoi optimiser sur requête de base de données
Lorsque votre application est interrompue, vos clients doivent attendre pendant que vous résolvez un problème aussi complexe que votre système. Vos données sont générées et vous avez une idée approximative de ce qui pourrait être le problème, mais par où commencer ?
Si votre site s'appuie sur une base de données (et c'est probablement le cas), vous souhaiterez vérifier que le temps de réponse de la requête fonctionne comme prévu. Souvent, les performances de votre site dépendent de la manière dont votre base de données gère les requêtes envoyées par vos clients. Avec New Relic, vous pouvez utiliser notre interface utilisateur de base de données pour suivre les performances de la base de données au fil du temps, vous permettant ainsi d'identifier le moment où un problème s'est produit afin que vous puissiez déterminer le type de solution dont vous avez besoin.
Ce tutoriel explique comment dépanner les requêtes lentes dans vos opérations de base de données.
Identifiez le problème avec les données de votre application
Notre interface utilisateur de base de données affiche des graphiques construits avec la requête NRQL . Ces graphiques utilisent les données de la métrique apm.service.datastore.operation.duration
signalées par l'agent que vous avez installé. Ces graphiques montrent le temps de réponse de vos principaux processus de base de données par opérations principales, leur temps de requête et le débit de votre application.
Lorsque vous évaluez un problème, nous vous recommandons d'utiliser chacun de ces différents points d'entrée, car ils racontent différentes parties de la même histoire. Voyons comment vous pouvez utiliser l’interface utilisateur pour commencer à diagnostiquer les problèmes de performances.

Pour commencer à dépanner votre requête la plus lente, vous démarrerez sur l'interface utilisateur de base de données par défaut d'APM.
Accédez à l'interface utilisateur de la base de données : accédez à one.newrelic.com > (select an app) > monitor > databases
Temps consommé par les opérations de base de données
Le graphique Most time consuming montre le temps de traitement total d'une requête par une opération de base de données.
Ce graphique affiche cinq opérations de base de données, puis suit leur temps d'exécution d'une requête. Ce graphique montre votre requête la plus utilisée et la plus fréquemment appelée en haut. Si une requête appelée rarement correspond à votre requête la plus chargée, cela peut indiquer un problème avec une requête qui nécessite une analyse plus approfondie pour comprendre pourquoi elle consomme autant de temps de traitement.
Top base de données par temps de requête
Le graphique Top databases by query time montre les performances de votre base de données en fonction du temps nécessaire à l'exécution d'une requête.
Cette requête NRQL crée un graphique qui affiche la base de données supérieure, puis fait la moyenne de la durée de la requête. Par exemple, si, en moyenne, votre base de données Redis EVAL met environ une demi-seconde pour traiter une requête, mais que le temps de requête augmente de deux secondes, vous savez alors qu'il faut approfondir chaque requête individuellement.
Top base de données par débit
Le graphique Top databases by throughput montre le débit de votre base de données au fil du temps.
Les graphiques de débit suivent le nombre de processus qu'une opération exécute dans une plage de temps donnée. Si votre débit chute, vous savez qu'il faut approfondir une opération particulière.
Approfondir votre requête de base de données
Creuser plus profondément signifie suivre les données. Identifier la zone approximative où existe un problème n’est qu’une partie de la recherche d’une solution.
Après avoir examiné les performances moyennes de votre base de données, votre prochaine étape consiste à suivre les données avec le temps de requête, les transactions et la trace des appels.