Erläuterung der Überwachungsparameter in Leistung und Systemschema in MySQL 5.7 (empfohlen)

Erläuterung der Überwachungsparameter in Leistung und Systemschema in MySQL 5.7 (empfohlen)

1. Leistungsschema: Einführung

In MySQL 5.7 wurde das Leistungsschema erheblich verbessert, einschließlich der Einführung einer großen Anzahl neuer Überwachungselemente, der Reduzierung von Platzbedarf und Belastung sowie einer deutlichen Verbesserung der Benutzerfreundlichkeit durch den neuen Sys-Schema-Mechanismus. Im Hinblick auf die Überwachung erfüllt das Performance-Schema folgende Funktionen:

①: Metadatensperre:

Wichtig zum Verständnis der Sperrabhängigkeiten von Metadaten zwischen Sitzungen. Ab MySQL 5.7.3 können Sie die Tabelle metadata_locks verwenden, um Informationen zu Metadatensperren abzurufen.

--Welche Sitzungen besitzen welche Metadatensperren
--Welche Sitzungen warten auf Metadatensperren
--Welche Anfragen wurden aufgrund eines Deadlocks abgebrochen oder aufgrund einer Wartezeitüberschreitung bei der Sperre abgebrochen?

②: Fortschrittsverfolgung:

Verfolgen Sie den Fortschritt langwieriger Vorgänge (z. B. Tabellenänderungen). Ab MySQL 5.7.7 stellt das Leistungsschema automatisch Informationen zum Anweisungsfortschritt bereit. Wir können die Fortschrittsinformationen des aktuellen Ereignisses über die Tabelle „events_stages_current“ anzeigen.

③: Angelegenheiten:

Überwachen Sie alle Aspekte von Transaktionen auf Service- und Speicher-Engine-Ebene. Ab MySQL 5.7.3 wurde die Tabelle events_transactions_current hinzugefügt. Sie können die Transaktionsüberwachung über die Tabellen setup_consumers und setup_instruments aktivieren und den Status der aktuellen Transaktion über diese Tabelle abfragen. Wenn in der Online-Datenbank eine Situation auftritt, in der das Undo-Protokoll erheblich ansteigt und die Datenbankleistung stark abfällt, können Sie diese Tabelle verwenden, um abzufragen, ob nicht festgeschriebene Transaktionen vorhanden sind. Wenn festgestellt wird, dass sich tatsächlich eine große Anzahl von Transaktionen im aktiven Zustand befindet, kann festgestellt werden, dass in der Datenbank eine große Anzahl nicht festgeschriebener Transaktionen vorhanden ist.

④: Speichernutzung:

Durch die Bereitstellung von Statistiken zur Speichernutzung können Sie den Speicherverbrauch des Servers besser verstehen und anpassen. Ab MySQL 5.7.2 fügt das Leistungsschema speicherbezogene Statistiken hinzu, die die Speichernutzung aus der Perspektive von Konten, Zugriffshosts, Threads, Benutzern und Ereignissen zählen.

⑤: Speicherprogramm:

Detektoren für gespeicherte Prozeduren, gespeicherte Methoden, Ereignisplaner und Tabellentrigger. In der Tabelle setup_objects in MySQL 5.7 werden Detektoren für Ereignis, Funktion, Prozedur und Trigger hinzugefügt. Das Leistungsschema wird verwendet, um Objekte in der Tabelle zu erkennen, die mit Objektschema und Objektname übereinstimmen.

2. Einführung in das Sys-Schema:

Das in MySQL 5.7 hinzugefügte Sys-Schema. Es handelt sich um ein Schema, das aus einer Reihe von Objekten (Ansichten, gespeicherte Prozeduren, gespeicherte Methoden, Tabellen und Trigger) besteht. Es sammelt und speichert selbst keine Informationen, sondern fasst die Daten in Leistungsschema und Informationsschema in einer verständlicheren Form als „Ansicht“ zusammen.

---sys-Schema kann für typische Tuning- und Diagnosefälle verwendet werden. Zu diesen Objekten gehören die folgenden drei:

①: Leistungsmodusdaten in leichter verständliche Ansichten aggregieren;

②: Gespeicherte Prozeduren für Vorgänge wie die Konfiguration des Leistungsschemas und das Generieren von Diagnoseberichten

③: Speicherfunktionen zum Abfragen der Leistungsmoduskonfiguration und Bereitstellen von Formatierungsdiensten

--- Die Funktion des Sys-Schemas in der Abfrage besteht darin, die Nutzung der Datenbankdienstressourcen zu überprüfen? Welche Hosts haben den meisten Datenverkehr zum Datenbankserver? Speichernutzung auf der Instanz?

3. Klassifizierung von Tabellen im Sys-Schema:

①: Hostbezogene Informationen:

Die mit host_summary beginnende Ansicht fasst hauptsächlich die IO-Latenzinformationen zusammen und zeigt die Datei-IO-Informationen aus der Perspektive von Host, Dateiereignistyp, Anweisungstyp usw. an.

②: Informationen zu InnoDB:

Die mit innodb beginnende Ansicht fasst die Informationen zur InnoDB-Pufferseite und die auf InnoDB-Sperrinformationen wartenden Transaktionen zusammen.

③: IO-Nutzung:

Die mit IO beginnende Ansicht fasst die Informationen der IO-Benutzer zusammen, einschließlich der Situation des Wartens auf IO und der IO-Nutzung, und zeigt sie in Gruppen aus verschiedenen Blickwinkeln an.

④: Speichernutzung:

Ansichten, die mit „Speicher“ beginnen, zeigen die Speichernutzung aus den Perspektiven von Host, Thread, Benutzer und Ereignis an.

⑤: Verbindungs- und Sitzungsinformationen:

Darunter fassen die Prozessliste und die sitzungsbezogenen Ansichten die sitzungsbezogenen Informationen zusammen.

⑥: Tabellenbezogene Informationen:

Die mit „schema_table“ beginnende Ansicht zeigt Tabellenstatistiken unter anderem zum vollständigen Tabellenscan und InnoDB-Pufferpool an.

⑦: Indexinformationen:

Es enthält Indexansichten, die die Indexnutzung, doppelte Indizes und nicht verwendete Indizes zählen.

⑧: Satzbezogene Informationen:

Ansichten, die mit „Anweisung“ beginnen, zählen die Verwendung normalisierter Anweisungen, einschließlich der Anzahl von Fehlern, Warnungen, vollständigen Tabellenscans, temporären Tabellen, Sortierungen und anderen Informationen.
⑨: Benutzerbezogene Informationen:

Ansichten, die mit „Benutzer“ beginnen, zählen die von Benutzern verwendete Datei-E/A, Statistiken zu ausgeführten Anweisungen usw.

⑨: Informationen zum Warteereignis:

Ansichten, die mit „wait“ beginnen, zeigen die Verzögerung von Warteereignissen aus der Perspektive des Hosts und der Ereignisse.

4. Beispiele für die Verwendung von Sys-Schemata:

--- Anzahl der Besuche am Tisch anzeigen: (Sie können die Anzahl der Besuche an jedem Tisch überwachen oder die Änderungen der Anzahl der Besuche in einer bestimmten Bibliothek überwachen.)
Wählen Sie table_schema, table_name, sum(io_read_requests+io_write_requests) aus schema_table_statistics;
Wählen Sie table_schema, table_name, io_read_requests+io_write_requests als io_total aus schema_table_statistics;
--- Überprüfen Sie redundante Indizes und ungenutzte Indizes: (schema_redundant_indexes und schema_unused_indexes überprüfen den Indexstatus)
Wählen Sie * aus sys.schema_redundant_indexes\G
Wählen Sie * aus sys.schema_unused_indexes;
(Wenn redundante Indizes und Indizes vorhanden sind, die lange Zeit nicht verwendet wurden, sollten diese rechtzeitig bereinigt werden.)
--- Überprüfen Sie die Verwendung der Auto-Increment-ID der Tabelle:
Wählen Sie * aus schema_auto_increment_columns\G 
(Mit der Ansicht „schema_auto_increment_columns“ können Sie ganz einfach die Auto-Increment-Nutzung jeder Tabelle und sogar die Auto-Increment-Nutzung einer bestimmten Tabelle überprüfen.)
---Überwachen Sie die SQL-Anweisung für einen vollständigen Tabellenscan:
Wählen Sie * aus sys.statements_with_full_table_scans, wobei db='test2'\G
(Verwenden Sie die Ansicht „statements_with_full_table_scans“, um zu sehen, welche Tabellenabfragen vollständige Tabellenscans verwenden, wobei „exec_count“ die Anzahl der Ausführungen ist, und andere Informationen.)
--- Überprüfen Sie den von der Instanz verbrauchten Festplatten-E/A: ()
Wähle Datei, durchschnittliches Lesen + durchschnittliches Schreiben als durchschnittliches I/O aus io_global_by_file_by_bytes, sortiere nach durchschnittlichem I/O, Beschreibungslimit 10;
(Überprüfen Sie die Ansicht io_global_by_file_by_bytes, um die Ursache für den übermäßigen Festplatten-E/A-Verbrauch zu ermitteln und das Problem zu lokalisieren.)

Zusammenfassen

Oben finden Sie eine Erklärung der Überwachungsparameter in Bezug auf Leistung und Systemschema in MySQL 5.7. Ich hoffe, dass dies für Sie hilfreich ist. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • MySQL umgeht die Gewährung von information_schema-Objekten und meldet den Fehler ERROR 1044 (4200)
  • MySQL-Datenbankdesign: Detaillierte Erläuterung der Schema-Operationsmethode mit Python
  • Fehler MySQL-Tabelle ''performance_schema...Lösung
  • So verwenden Sie das MySQL-Datenbankanalysetool SchemaSpy
  • Können Information_Schema und MySQL in der MySQL-Datenbank gelöscht werden?
  • Analysieren der information_schema-Datenbank von MySQL
  • Detaillierte Analyse des MySQL-Datentyps DECIMAL
  • Drei häufig verwendete MySQL-Datentypen
  • Über MySQL müssen Sie die Datentypen und Operationstabellen kennen
  • Detaillierte Erklärung der Prinzipien und der Verwendung von MySQL-Datentypen und Feldattributen
  • Detaillierte Erläuterung der grundlegenden Datentypen in mysql8.0.19
  • Detaillierte Erklärung der Datentypen und Schemaoptimierung in MySQL

<<:  Top 10 der nützlichsten und wichtigsten Open-Source-Tools im Jahr 2019

>>:  js implementiert einen einfachen Rechner

Artikel empfehlen

Zusammenfassung der grundlegenden Verwendung von CSS3 @media

//Grammatik: @media Medientyp und | nicht | nur (...

Ubuntu kompiliert Kernelmodule und der Inhalt wird im Systemprotokoll angezeigt

Inhaltsverzeichnis 1.Linux-Anmeldeschnittstelle 2...

SQL-Methode zum Berechnen der Zeitstempeldifferenz

SQL-Methode zum Berechnen der Zeitstempeldifferen...

Natives JS zur Implementierung der Dropdown-Box-Auswahlkomponente

In diesem Artikelbeispiel wird der spezifische JS...

Ein praktischer Bericht über XSS-Angriffe in einem VUE-Projekt

Inhaltsverzeichnis Vorwort Entdecken Sie die Ursa...

Detailliertes Tutorial zur Installation von PHP und Nginx auf Centos7

Da die Anwendung von CentOS auf der Serverseite i...

Implementierung der Bereitstellung des Nginx+ModSecurity-Sicherheitsmoduls

Inhaltsverzeichnis 1. Herunterladen 2. Bereitstel...

Detaillierte Erklärung der MySQL-Instanz mit aktiviertem SSD-Speicher

Detaillierte Erklärung der MySQL-Instanz mit akti...

So erstellen Sie schnell ELK basierend auf Docker

[Zusammenfassung] Dieser Artikel erstellt schnell...

Detaillierte Erklärung von MySQLs Seconds_Behind_Master

Inhaltsverzeichnis Sekunden_hinter_Master Ursprün...

Mehrere Möglichkeiten zum Verbinden von Tabellen in MySQL

Die Verbindungsmethode in der MySQL-Tabelle ist e...