Ich hoffe, dass der Inhalt, den ich mit Ihnen teilen möchte, Ihnen helfen kann. In MySQL5.7 wurde das Leistungsschema erheblich verbessert, einschließlich der Einführung einer großen Anzahl neuer Überwachungselemente, der Reduzierung von Speicherplatz und Last Die Verwendung des neuen Systemschemas verbessert die Benutzerfreundlichkeit erheblich. Dieser Artikel stellt Ihnen die Erklärung der Überwachungsparameter in der Leistung und im Systemschema in MySQL5.7 vor. Freunde in Not können darauf zurückgreifen.
1. Leistungsschema: Einführung
In MySQL5.7 wurde das Leistungsschema erheblich verbessert, einschließlich der Einführung einer großen Anzahl neu hinzugefügter Überwachungselemente, der Reduzierung von Speicherplatz und Last usw Durch den neuen Sys-Schema-Mechanismus wird die Benutzerfreundlichkeit erheblich verbessert. Im Hinblick auf die Überwachung hat das Leistungsschema folgende Funktionen:
①: Metadatensperre:
Es ist wichtig, die Abhängigkeiten von Metadatensperren zwischen Sitzungen zu verstehen. Ab MySQL 5.7.3 können Sie über die Tabelle metadata_locks mehr über Metadatensperren erfahren.
--Welche Sitzungen besitzen welche Metadatensperren
--Welche Sitzungen warten auf Metadatensperren
--Welche Anfragen wurden aufgrund von Deadlocks oder Sperrwartezeitüberschreitungen abgebrochen?
②: Fortschrittsverfolgung:
Verfolgen Sie den Fortschritt langfristiger Vorgänge (z. B. Alter Table) ab MySQL5. Das Leistungsschema stellt automatisch Informationen zum Anweisungsfortschritt bereit. Wir können die Fortschrittsinformationen des aktuellen Ereignisses über die Tabelle „events_stages_current“ anzeigen.
③: Transaktion:
Überwachen Sie alle Aspekte der Service-Layer- und Storage-Engine-Layer-Transaktionen. Ab MySQL 5.7.3 wurde die Tabelle „events_transactions_current“ hinzugefügt. Die Transaktionsüberwachung kann über die Tabellen „setup_consumers“ und „setup_instruments“ aktiviert werden, und der Status der aktuellen Transaktion kann über diese Tabelle abgefragt werden. Wenn die Online-Datenbank einen starken Anstieg des Rückgängig-Protokolls und einen starken Rückgang der Datenbankleistung feststellt, können Sie diese Tabelle verwenden, um abzufragen, ob derzeit nicht festgeschriebene Transaktionen vorhanden sind. Wenn festgestellt wird, dass eine große Anzahl von Transaktionsstatus aktiv ist, kann festgestellt werden, dass eine große Anzahl von Transaktionen in der Datenbank nicht festgeschrieben ist.
④: Speichernutzung:
Stellt die Speichernutzung bereit Informationsstatistiken, die hilfreich sind, um den Speicherverbrauch des Servers zu verstehen und anzupassen. Ab MySQL5.7.2 hat das Leistungsschema speicherbezogene statistische Informationen hinzugefügt, die den Speichernutzungsprozess aus der Perspektive von Konten, Zugriffshosts, Threads, Benutzern und Ereignissen zählen
⑤: Gespeicherte Prozeduren:
Detektoren für gespeicherte Prozeduren, gespeicherte Methoden, Ereignisplaner und Tabellentrigger. In der Tabelle setup_objects in MySQL5.7 werden neue Detektoren für Ereignis, Funktion, Prozedur und Trigger hinzugefügt. Das Leistungsschema wird verwendet, um Objekte zu erkennen, die mit Objektschema und Objektname in der Tabelle übereinstimmen.
2 Einführung in das Systemschema:
Neues Systemschema in MySQL5.7. Es handelt sich um ein Schema, das aus einer Reihe von Objekten (Ansichten, gespeicherten Prozeduren, gespeicherten Methoden, Tabellen und Triggern) besteht. Es sammelt und speichert selbst keine Informationen, sondern fasst die Daten in „performance_schema“ und „information_schema“ auf verständlichere Weise zusammen. Sicht".
---sys-Schema kann für typische Tuning- und Diagnose-Anwendungsfälle verwendet werden. Zu diesen Objekten gehören die folgenden drei:
①: Fassen Sie Leistungsschemadaten in einer verständlicheren Ansicht zusammen
②: Gespeicherte Prozeduren für Vorgänge wie die Konfiguration des Leistungsmodus und das Erstellen von Diagnoseberichten③: Gespeicherte Funktionen zum Abfragen der Konfiguration des Leistungsmodus und zur Bereitstellung von Formatierungsdiensten--- Die Funktion von sys Schema in der Abfrage kann die Nutzung von Datenbankdienstressourcen überprüfen? Welche Hosts haben den meisten Zugriff auf den Datenbankserver? Speichernutzung auf der Instanz? 3. Klassifizierung von Tabellen im Systemschema: ①: Hostbezogene Informationen: Die mit host_summary beginnende Ansicht fasst hauptsächlich E/A-Verzögerungsinformationen vom Host und Dateiereignistyp zusammen , Anweisungstyp und andere Perspektiven zum Anzeigen von Datei-E/A-Informationen; ②: innodb-bezogene Informationen: Die mit innodb beginnende Ansicht fasst die innodb-Pufferseiteninformationen und die auf die innodb-Sperre wartenden Transaktionen zusammen ③: IO-Nutzung: Die mit IO beginnende Ansicht fasst die Informationen von IO-Benutzern zusammen, einschließlich des Wartens auf IO und der IO-Nutzung, angezeigt in Gruppen aus verschiedenen Blickwinkeln ;④ : Speichernutzung: Die mit dem Speicher beginnende Ansicht zeigt die Speichernutzung aus der Perspektive von Host, Thread, Benutzer und Ereignis ⑤: Verbindungs- und Sitzungsinformationen: Darunter fassen die prozesslisten- und sitzungsbezogenen Ansichten sitzungsbezogene Informationen zusammen. ⑥: Tabellenbezogene Informationen: Die Ansicht beginnt mit schema_table und durchsucht die gesamten Tabellen-Pufferpools usw. Statistische Informationen der Tabelle anzeigen; ⑦: Indexinformationen: Es enthält die Indexansicht, die die Verwendung des Index sowie doppelte und nicht verwendete Indizes zählt Status; ⑧: Anweisungsbezogene Informationen: Die Ansicht beginnend mit der Anweisung, Statistiken zur standardisierten Anweisungsverwendung, einschließlich der Anzahl von Fehlern, Warnungen, vollständigen Tabellenscans, Verwendung temporärer Tabellen, Ausführung Sortierung und andere Informationen;⑨: Benutzerbezogene Informationen:
:
Die Ansicht, die mit Warten beginnt, zeigt die Verzögerung wartender Ereignisse aus der Perspektive von Host und Ereignis.
4. Beispiele für die Verwendung des Sys-Schemas:
---查看表的访问量:(可以监控每张表访问量的情况,或者监控某个库的访问量的变化) select table_schema,table_name,sum(io_read_requests+io_write_requests) from schema_table_statistics; select table_schema,table_name,io_read_requests+io_write_requests as io_total from schema_table_statistics; ---冗余索引和未使用索引的检查:(schema_redundant_indexes和schema_unused_indexes查看索引的情况) select * from sys.schema_redundant_indexes\G select * from sys.schema_unused_indexes; (如果有冗余索引和长期未使用的索引,应该及时清理,) ---查看表自增ID使用情况: select * from schema_auto_increment_columns\G (可以使用schema_auto_increment_columns视图,就能很简单的查到每个表的自增量使用情况,甚至可以精确到某个表的自增量情况) ---监控全表扫描的sql语句: select * from sys.statements_with_full_table_scans where db='test2'\G (使用statements_with_full_table_scans视图可以查看哪些表查询使用了全表扫描,其中exec_count是执行的次数,等信息) ---查看实例消耗的磁盘I/O情况:() select file,avg_read+avg_write as avg_io from io_global_by_file_by_bytes order by avg_io desc limit 10; (查看io_global_by_file_by_bytes视图可以检查磁盘I/O消耗过大的原因,定位问题)
Mehrere häufig verwendete MySQL-Überwachungsskriptbefehle
MySQL-Skript zur automatischen Überwachung und Synchronisierung
MySQL-Innodb im Detail Erläuterung von Beispielcodes zur Überwachung (Systemschicht, Datenbankschicht)
Das obige ist der detaillierte Inhalt vonDetailliertes Beispiel für Überwachungsparameter im Leistungs- und Systemschema in MySQL5.7. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!