Passer au contenu principal
Les requêtes et les jobs en arrière-plan peuvent être lents pour diverses raisons, mais une cause courante est les requêtes de base de données lentes. Les grandes tables et les index manquants peuvent faire en sorte que les requêtes de base de données prennent plus de temps que nécessaire, augmentant le temps d’attente des utilisateurs de votre application. La fonctionnalité Slow Queries d’AppSignal facilite la recherche des requêtes les plus lentes d’une application, pour vous aider à décider quelles requêtes nécessitent une optimisation. Vous pouvez consulter les requêtes lentes de votre application ici.

Trouver les requêtes lentes pour Ruby, Elixir, Node.js et Python

Le type d’événements trouvés sur la page Slow Queries est listé ci-dessous.
  • Elasticsearch
  • MongoDB
  • MySQL
  • PostgreSQL
  • Redis
  • SQLite
Les événements peuvent être regroupés sous le nom du groupe d’événements ORM (Object-relational mapping) pour certaines intégrations.

Trouver les requêtes lentes pour OpenTelemetry

Pour les intégrations basées sur OpenTelemetry, nous recherchons des spans avec un certain ensemble d’attributs listés ci-dessous. Pour le corps de la requête, nous recherchons les attributs suivants dans cet ordre :
  • db.query.text
  • db.query.statement
  • db.stored_procedure.name
L’un de ces attributs doit être présent et non vide. Pour le nom du système, nous recherchons les attributs suivants dans cet ordre :
  • db.system.name
  • db.system
Si aucun n’est présent, le système sera affiché comme Unknown. Si votre application rapporte des requêtes dans un attribut nommé différemment, ou si vous souhaitez personnaliser les attributs reconnus, veuillez nous faire part de vos commentaires.

Trier les requêtes

Par défaut, la liste des requêtes lentes est triée par impact : les requêtes qui prennent le plus de temps soit par leur durée, soit par leur fréquence d’exécution. Il est également possible de trier ce tableau par « Throughput », à quelle fréquence la requête a été enregistrée, et « Mean », la durée moyenne des requêtes.

Détails des requêtes

Query details screenshot Vous pouvez cliquer sur une requête pour obtenir les informations suivantes :
  • Requête complète avec titre d’événement optionnel pour plus de contexte
  • Résumé de l’événement de requête de base de données :
    • Durée moyenne de la requête
    • Throughput, à quelle fréquence la requête a été enregistrée
    • L’impact de la requête en pourcentage de toutes les requêtes de base de données dans la période sélectionnée.
  • Graphique du temps de réponse
  • Graphique du throughput
  • Actions et mesures de performance dans lesquelles l’événement s’est produit :
    • Vous pouvez accéder directement aux actions et aux mesures de performance dans lesquelles l’événement a été enregistré pour voir l’impact par requête/job en arrière-plan dans la chronologie des événements d’échantillon.