Verwaltung des globalen Statusverlaufs für RDS for My SQL - Amazon Relational Database Service

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.

Verwaltung des globalen Statusverlaufs für RDS for My SQL

Tipp

Um die Datenbankleistung zu analysieren, können Sie auch Performance Insights auf Amazon verwendenRDS. Weitere Informationen finden Sie unter Überwachen der Datenbanklast mit Performance Insights auf Amazon RDS.

My SQL verwaltet viele Statusvariablen, die Informationen über den Betrieb liefern. Ihre Werte können Ihnen helfen, Probleme mit Sperren oder Arbeitsspeichern in einer DB-Instance zu entdecken. Die Werte dieser Statusvariablen sind seit dem letzten Zeitpunkt, an dem die DB-Instance gestartet wurde, kumulativ. Sie können die meisten Statusvariablen auf 0 zurücksetzen, indem Sie den Befehl FLUSH STATUS verwenden.

Um die Überwachung dieser Werte im Zeitverlauf zu ermöglichen, RDS bietet Amazon eine Reihe von Verfahren, mit denen die Werte dieser Statusvariablen im Zeitverlauf erfasst und zusammen mit allen Änderungen seit dem letzten Snapshot in eine Tabelle geschrieben werden. Diese Infrastruktur, Global Status History (GoSH) genannt, ist auf allen My SQL DB-Instances ab Version 5.5.23 installiert. GoSH ist standardmäßig deaktiviert.

Um GoSH zu aktivieren, müssen Sie zunächst den Ereignis-Scheduler aus einer DB-Parametergruppe aktivieren, indem Sie den Parameter event_scheduler auf ON festlegen. Stellen Sie für My SQL DB-Instances, auf denen My SQL 5.7 ausgeführt wird, den Parameter ebenfalls auf ein. show_compatibility_56 1 Weitere Informationen zum Erstellen und Ändern einer DB-Parametergruppe finden Sie unter Parametergruppen für Amazon RDS. Informationen zu den Nebenwirkungen der Aktivierung dieses Parameters finden Sie unter show_compatibility_56 im My 5.7-Referenzhandbuch. SQL

Sie können anschließend die Verfahren in der folgenden Tabelle verwenden, um GoSH zu aktivieren und zu konfigurieren. Stellen Sie zunächst eine Verbindung zu Ihrer My SQL DB-Instance her und geben Sie dann die entsprechenden Befehle ein, wie im Folgenden dargestellt. Weitere Informationen finden Sie unter Verbindung zu einer DB-Instance herstellen, auf der die My SQL Database-Engine ausgeführt wird. Führen Sie für jede Prozedur den folgenden Befehl aus und ersetzen Sie procedure-name:

CALL procedure-name;

In der folgenden Tabelle sind alle Verfahren aufgeführt, die Sie verwenden können procedure-nameim vorherigen Befehl.

Verfahren Beschreibung

mysql.rds_enable_gsh_collector

Aktiviert GoSH, um Standard-Snapshots in zeitlichen Abständen zu erstellen, die durch angegeben werde rds_set_gsh_collector.

mysql.rds_set_gsh_collector

Gibt den zeitlichen Abstand in Minuten für die periodische Generierung von Snapshots an. Der Standardwert ist 5.

mysql.rds_disable_gsh_collector

Deaktiviert Snapshots.

mysql.rds_collect_global_status_history

Generiert einen Snapshot auf Anforderung.

mysql.rds_enable_gsh_rotation

Aktiviert die Rotation der Inhalte der Tabelle mysql.rds_global_status_history zu mysql.rds_global_status_history_old in zeitlichen Abständen, die durch rds_set_gsh_rotation angegeben werden.

mysql.rds_set_gsh_rotation

Gibt den zeitlichen Abstand in Tagen für die periodische Tabellenrotation an. Der Standardwert ist 7.

mysql.rds_disable_gsh_rotation

Deaktiviert die Tabellenrotation.

mysql.rds_rotate_global_status_history

Rotiert die Inhalte der Tabelle mysql.rds_global_status_history bei Anforderung zu mysql.rds_global_status_history_old.

Wenn GoSH ausgeführt wird, können Sie Abfragen für die Tabellen ausführen, in die GoSH schreibt. Um beispielsweise eine Abfrage für das Trefferverhältnis des InnoDB-Pufferpools auszuführen, würden Sie die folgende Abfrage ausgeben:

select a.collection_end, a.collection_start, (( a.variable_Delta-b.variable_delta)/a.variable_delta)*100 as "HitRatio" from mysql.rds_global_status_history as a join mysql.rds_global_status_history as b on a.collection_end = b.collection_end where a. variable_name = 'Innodb_buffer_pool_read_requests' and b.variable_name = 'Innodb_buffer_pool_reads'