Zum Hauptinhalt springen
Anfragen und Background-Jobs können aus verschiedenen Gründen langsam sein, eine häufige Ursache sind jedoch langsame Datenbankabfragen. Große Tabellen und fehlende Indizes können dazu führen, dass Datenbankabfragen länger dauern als nötig, was die Wartezeit für die Benutzer Ihrer Anwendung erhöht. Die Slow-Queries-Funktion von AppSignal erleichtert es Ihnen, die langsamsten Abfragen einer Anwendung zu finden, um Ihnen bei der Entscheidung zu helfen, welche Abfragen Optimierung benötigen. Sie können die langsamen Abfragen Ihrer Anwendung hier einsehen.

Langsame Abfragen für Ruby, Elixir, Node.js und Python finden

Die Arten von Events, die auf der Slow-Queries-Seite zu finden sind, sind unten aufgeführt.
  • Elasticsearch
  • MongoDB
  • MySQL
  • PostgreSQL
  • Redis
  • SQLite
Für einige Integrationen können Events unter dem ORM-Event-Gruppennamen (Object-Relational Mapping) gruppiert werden.

Langsame Abfragen für OpenTelemetry finden

Für OpenTelemetry-basierte Integrationen suchen wir nach Spans mit einer bestimmten Reihe von Attributen, die unten aufgeführt sind. Für den Abfrage-Body suchen wir nach den folgenden Attributen in dieser Reihenfolge:
  • db.query.text
  • db.query.statement
  • db.stored_procedure.name
Eines dieser Attribute muss vorhanden und nicht leer sein. Für den Systemnamen suchen wir nach den folgenden Attributen in dieser Reihenfolge:
  • db.system.name
  • db.system
Wenn keiner vorhanden ist, wird das System als Unknown angezeigt. Wenn Ihre Anwendung Abfragen in einem anders benannten Attribut meldet oder Sie die erkannten Attribute anpassen möchten, geben Sie uns Feedback.

Abfragen sortieren

Standardmäßig wird die Liste der langsamen Abfragen nach Impact sortiert: die Abfragen, die die meiste Zeit in Anspruch nehmen, entweder durch die Dauer der Abfragen oder die Häufigkeit ihrer Ausführung. Es ist auch möglich, diese Tabelle nach “Throughput”, wie oft die Abfrage aufgezeichnet wurde, und “Mean”, der mittleren Dauer der Abfragen, zu sortieren.

Abfragedetails

Query details screenshot Sie können auf eine Abfrage klicken, um die folgenden Einblicke zu erhalten:
  • Vollständige Abfrage mit optionalem Event-Titel für mehr Kontext
  • Die Zusammenfassung des Datenbankabfrage-Events:
    • Mittlere Dauer der Abfrage
    • Throughput, wie oft die Abfrage aufgezeichnet wurde
    • Der Impact der Abfrage in Prozent aller Datenbankabfragen im ausgewählten Zeitraum.
  • Antwortzeit-Diagramm
  • Throughput-Diagramm
  • Aktionen und Performance-Messungen, in denen das Event aufgetreten ist:
    • Sie können direkt zu Aktionen und Performance-Messungen wechseln, in denen das Event aufgezeichnet wurde, um den Impact pro Request/Background-Job in der Sample-Event-Timeline anzuzeigen.