Performance Insights-Metriken für DB-Instances - AWS Präskriptive Leitlinien

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Performance Insights-Metriken für DB-Instances

Performance Insights überwacht verschiedene Arten von Metriken, wie in den folgenden Abschnitten beschrieben.

Datenbanklast

Datenbanklast (DBLoad) ist eine wichtige Metrik in Performance Insights, mit der das Aktivitätsniveau in Ihrer Datenbank gemessen wird. Es wird jede Sekunde gesammelt und automatisch auf Amazon veröffentlicht.CloudWatch. Es stellt die Aktivität der DB-Instance in durchschnittlichen aktiven Sessions (AAS) dar. Dies ist die Anzahl der Sitzungen, in denen gleichzeitig SQL-Abfragen ausgeführt werden. DerDBLoadDie Metrik unterscheidet sich von anderen Zeitreihenmetriken, da sie mithilfe einer dieser fünf Dimensionen interpretiert werden kann: Waits, SQL, Hosts, Benutzer und Datenbanken. Diese Dimensionen sind Unterkategorien derDBLoadmetrisch. Sie können sie verwenden alsschneiden nachKategorien, um verschiedene Merkmale der Datenbanklast darzustellen. Eine ausführliche Beschreibung, wie wir die Datenbanklast berechnen, finden Sie unterDatenbanklastin der Amazon RDS-Dokumentation.

Die folgende Bildschirmabbildung zeigt das Performance Insights-Tool.

Datenbanklast im Performance Insights-Tool

Dimensionen

  • Ereignisse abwartensind Bedingungen, unter denen eine Datenbanksitzung auf den Abschluss einer Ressource oder eines anderen Vorgangs wartet, um die Verarbeitung fortzusetzen. Wenn Sie eine SQL-Anweisung ausführen wieSELECT * FROM big_tableund wenn diese Tabelle viel größer ist als der zugewiesene InnoDB-Pufferpool, wird Ihre Sitzung höchstwahrscheinlich wartenwait/io/file/innodb/innodb_data_fileWarteereignisse, die durch physische I/O-Operationen in der Datendatei verursacht werden. Warteereignisse sind eine wichtige Dimension für die Datenbanküberwachung, da sie auf mögliche Leistungsengpässe hinweisen. Wait-Ereignisse geben die Ressourcen und Operationen an, auf die die SQL-Anweisungen, die Sie in Sitzungen ausführen, die meiste Zeit warten. Zum Beispiel diewait/synch/mutex/innodb/trx_sys_mutexEreignis tritt ein, wenn eine hohe Datenbankaktivität mit einer großen Anzahl von Transaktionen vorliegt und diewait/synch/mutex/innodb/buf_pool_mutexEreignis tritt ein, wenn ein Thread eine Sperre für den InnoDB-Pufferpool erlangt hat, um auf eine Seite im Speicher zuzugreifen. Hinweise zu allen MySQL- und MariaDB-Warteereignissen finden Sie unterÜbersichtstabellen für Warteereignissein der MySQL-Dokumentation. Informationen zur Interpretation von Instrumentennamen finden Sie unterNamenskonventionen für Leistungsschema-Instrumentein der MySQL-Dokumentation.

  • SQLzeigt, welche SQL-Anweisungen am meisten zur gesamten Datenbanklast beitragen. DerTop-AbmessungenTabelle, die sich unter demDatenbanklastDas Diagramm in Amazon RDS Performance Insights ist interaktiv. Eine detaillierte Liste der Warteereignisse im Zusammenhang mit der SQL-Anweisung erhalten Sie, indem Sie auf die Leiste in derNach Wartezeiten laden (AAS)Spalte. Wenn Sie eine SQL-Anweisung in der Liste auswählen, zeigt Performance Insights die zugehörigen Warteereignisse in derDatenbanklastDiagramm und der Text der SQL-Anweisung in derSQL-TextAbschnitt. SQL-Statistiken werden auf der rechten Seite des angezeigtTop-AbmessungenTabelle.

  • Gastgeberzeigt die Hostnamen der verbundenen Clients an. Diese Dimension hilft Ihnen zu erkennen, welche Client-Hosts die meiste Last an die Datenbank senden.

  • Nutzergruppiert die DB-Last nach Benutzern, die in der Datenbank angemeldet sind.

  • Datenbankengruppiert die DB-Last nach dem Namen der Datenbank, mit der der Client verbunden ist.

Zähler-Metriken

Zählerkennzahlen sind kumulative Metriken, deren Werte nur erhöht oder auf Null zurückgesetzt werden können, wenn die DB-Instance neu gestartet wird. Der Wert einer Zählermetrik kann nicht auf ihren vorherigen Wert reduziert werden. Diese Kennzahlen stellen einen einzigen, monoton ansteigenden Zähler dar.

  • Systemeigene Zählersind Metriken, die von der Datenbank-Engine und nicht von Amazon RDS definiert werden. Beispiele:

    • SQL.Innodb_rows_insertedstellt die Anzahl der Zeilen dar, die in InnoDB-Tabellen eingefügt wurden.

    • SQL.Select_scansteht für die Anzahl der Joins, die einen vollständigen Scan der ersten Tabelle abgeschlossen haben.

    • Cache.Innodb_buffer_pool_readssteht für die Anzahl der logischen Lesevorgänge, die die InnoDB-Engine nicht aus dem Pufferpool abrufen konnte und direkt von der Festplatte lesen musste.

    • Cache.Innodb_buffer_pool_read_requestssteht für die Anzahl der logischen Leseanforderungen.

    Definitionen aller systemeigenen Metriken finden Sie unterServerstatusvariablenin der MySQL-Dokumentation.

  • Leistungsindikatoren, die nicht systemintern sindwerden von Amazon RDS definiert. Sie können diese Metriken entweder mithilfe einer bestimmten Abfrage abrufen oder sie ableiten, indem Sie zwei oder mehr systemeigene Metriken in Berechnungen verwenden. Nicht systemeigene Zählerkennzahlen können Latenzen, Kennzahlen oder Trefferquoten darstellen. Beispiele:

    • Cache.innoDB_buffer_pool_hitsstellt die Anzahl der Leseoperationen dar, die InnoDB aus dem Pufferpool abrufen könnte, ohne die Festplatte zu verwenden. Er wird anhand der systemeigenen Zählerkennzahlen wie folgt berechnet:

      db.Cache.Innodb_buffer_pool_read_requests - db.Cache.Innodb_buffer_pool_reads
    • IO.innoDB_datafile_writes_to_diskstellt die Anzahl der Schreibvorgänge von InnoDB-Datendateien auf die Festplatte dar. Es erfasst nur Operationen auf Datendateien — keine Schreibvorgänge mit Doublewrite oder Redo-Logging. Sie wird wie folgt berechnet:

      db.IO.Innodb_data_writes - db.IO.Innodb_log_writes - db.IO.Innodb_dblwr_writes

Sie können DB-Instance-Metriken direkt im Performance Insights-Dashboard visualisieren. Wählen SieKennzahlen verwalten, wähle denDatenbank-Metrikenklicken Sie auf die Tabulatortaste und wählen Sie dann die gewünschten Kennzahlen aus, wie in der folgenden Abbildung dargestellt.

Auswahl von DB-Instance-Metriken in Performance Insights

Wählen Sie dieGrafik aktualisierenSchaltfläche, um die ausgewählten Metriken anzuzeigen, wie in der folgenden Abbildung dargestellt.

DB-Instance-Metriken in Performance Insights anzeigen

SQL-Statistiken

Performance Insights sammelt leistungsbezogene Metriken zu SQL-Abfragen für jede Sekunde, in der eine Abfrage ausgeführt wird, und für jeden SQL-Aufruf. Im Allgemeinen sammelt Performance InsightsSQL-Statistikauf der Ebene der Aussage und der Zusammenfassung. Für MariaDB- und MySQL-DB-Instances werden Statistiken jedoch nur auf der Digest-Ebene erfasst.

  • Die Digest-Statistik ist eine zusammengesetzte Metrik aller Abfragen, die dasselbe Muster haben, aber letztendlich unterschiedliche Literalwerte haben. Der Digest ersetzt bestimmte Literalwerte durch eine Variable, zum Beispiel:

    SELECT department_id, department_name FROM departments WHERE location_id = ?
  • Es gibt Kennzahlen, die Statistiken darstellenpro Sekundefür jede verdaute SQL-Anweisung. Zum Beispielsql_tokenized.stats.count_star_per_secsteht für Aufrufe pro Sekunde (das heißt, wie oft pro Sekunde die SQL-Anweisung ausgeführt wurde).

  • Performance Insights umfasst auch Kennzahlen, die Folgendes bieten:pro AnrufStatistiken für eine SQL-Anweisung. Zum Beispielsql_tokenized.stats.sum_timer_wait_per_callzeigt die durchschnittliche Latenz der SQL-Anweisung pro Aufruf in Millisekunden.

SQL-Statistiken sind im Performance Insights-Dashboard verfügbar, in derTop-SQLReiter desTop-AbmessungenTabelle.

SQL-Statistiken