Zustandsmonitor

Health Monitor erfasst Statistiken zur CPU-Auslastung des Systems, zur Datenträgerauslastung, zur Speicherauslastung und zum Serverprozess MySQL (mysqld). Die Statistiken werden in Historientabellen protokolliert, für die Health Monitor einmal pro Minute Proben nimmt und die Daten eines Tages beibehält. Sie können diese Statistiken auch in Tabellen aufrufen, die bei Bedarf mit aktuellen Messwerten gefüllt werden, wenn Sie sie abfragen.

Health Monitor - Überblick

Health Monitor erfasst alle sechzig Sekunden Informationen zum Festplattenspeicher, Systemspeicherinformationen und verarbeitet Speicherinformationen und speichert die Daten eines Tages in Tabellen im Performance Schema von MySQL Server. Wenn der verfügbare Speicherplatz oder der verfügbare Speicher unter bestimmte voreingestellte Schwellenwerte fällt, gibt Health Monitor Warnungen aus und protokolliert ihn in der Tabelle performance_schema.error_log.

Health Monitor verwendet MiB/GiB/TiB-Speichereinheiten mit 100 GB = 93 GiB.

Der Gesamtspeicher, der für ein DB-System verfügbar ist, enthält Folgendes:

  • Verfügbarer Speicher: Der Festplattenspeicher nach der Speicherreservierung wird vom Gesamtspeicher ausgeschlossen.
  • Speicherreserve: Der Festplattenspeicherplatz, der kleiner als der disk_low_space_level- und disk_low_space_percent-Konfigurationsvariablen ist. Der Standardwert von disk_low_space_level ist 5.000 MiB, und der Standardwert von disk_low_space_percent beträgt 4% des Gesamtspeichers.
  • Kritischer Speicher: Der Festplattenspeicher in der Speicherreserve unter dem kritischen Schwellenwert, der von der Konfigurationsvariable disk_low_space_critical_level definiert wird. Dies ist der minimal verfügbare Festplattenspeicherplatz für das System, um die Festplattenauslastung zu vermeiden. Der kritische Standardspeicherplatz ist 2.000 MiB.

Warnungen zu Festplattenspeicher

Wenn der Speicherplatz unter einen bestimmten Prozentsatz des verfügbaren Speichers fällt, gibt Health Monitor die folgenden Warnungen aus und protokolliert ihn in der Tabelle performance_schema.error_log:

  • WARNING_DISK_USAGE_LEVEL_1: Wenn der Festplattenspeicher unter 20% des verfügbaren Speichers fällt.
  • WARNING_DISK_USAGE_LEVEL_2: Wenn der Festplattenspeicher unter 10% des verfügbaren Speichers fällt.
  • WARNING_DISK_USAGE_LEVEL_3: Wenn der Festplattenspeicher unter 5% des verfügbaren Speichers fällt.

Beispiel: Wenn der Gesamtspeicher 100.000 MiB beträgt und die Speicherreserve kleiner als die folgenden beiden Konfigurationsvariablen ist:

  • disk_low_space_level: Der Standardwert ist 5.000 MiB.
  • disk_low_space_percent: 4% des Gesamtspeichers, d.h. 4% von 100.000 MiB = 4.000 MiB.

Die Speicherreserve beträgt 4.000 MiB, was kleiner als die beiden Konfigurationsvariablen ist.

Den verfügbaren Speicher finden Sie, indem Sie die Lagerreserve vom Gesamtspeicher ausschließen:

100,000 - 4,000 = 96,000 MiB

Der Zustandsmonitor gibt die folgenden Warnungen aus:

  • WARNING_DISK_USAGE_LEVEL_1: Wenn der Festplattenspeicher unter 20% des verfügbaren Speichers fällt, also 20/100*96.000 = 19.200 MiB.
  • WARNING_DISK_USAGE_LEVEL_2: Wenn der Festplattenspeicher unter 10% des verfügbaren Speichers fällt, also 10/100*96.000 = 9.600 MiB.
  • WARNING_DISK_USAGE_LEVEL_3: Wenn der Festplattenspeicher unter 5% des verfügbaren Speichers fällt, also 5/100*96.000 = 4.800 MiB.

Signifikanter oder anhaltender Speicherplatzmangel

Health Monitor definiert einen erheblichen oder anhaltenden Speicherplatzmangel, wenn die folgenden Bedingungen erfüllt sind:

  • Erheblicher Engpass: Der Festplattenspeicher fällt unter den kritischen Schwellenwert, der von disk_low_space_critical_level definiert wird.
  • Nachhaltiger Engpass: Der Festplattenspeicher fällt unter die Speicherreserve und verbleibt dann für die von der Konfigurationsvariablen disk_low_space_duration definierte Dauer in der Speicherreserve.

Wenn ein erheblicher oder anhaltender Speicherplatzmangel auftritt, führt Health Monitor Folgendes aus:

  • SUPER_READ_ONLY=ON: Setzt die Systemvariablen SUPER_READ_ONLY in MySQL Server auf ON. MySQL Server lehnt alle neu eingehenden SQL-Schreibanweisungen (UPDATE, INSERT, DELETE und DDL) unabhängig von Benutzern und Berechtigungen ab. Laufende Transaktionen können abgeschlossen werden, neue Schreibvorgänge sind jedoch untersagt, bis der Festplattenspeicher wieder verfügbar ist. Sie können keine Daten in das Cluster HeatWave laden, wenn sich der Server im Modus SUPER_READ_ONLY befindet.

    In einigen Fällen hindern globale Lesesperren, laufende Commits oder Metadatensperren den Zustandsmonitor daran, die Systemvariable SUPER_READ_ONLY festzulegen. Wenn Sie in diesen Fällen die Variable health_monitor.disk_fallback_force festlegen, identifiziert und beendet der Zustandsmonitor aktive Abfragen mit globalen Sperren, um die Systemvariable SUPER_READ_ONLY festzulegen.

  • OFFLINE_MODE=ON: Setzt die Systemvariable OFFLINE_MODE im MySQL Server auf ON. MySQL Server trennt die Verbindungen von Clientbenutzern, die nicht über die Berechtigung CONNECTION_ADMIN verfügen, beendet laufende Anweisungen, hebt Sperren auf und blockiert neue Verbindungen mit einem entsprechenden Fehler.
  • super_read_only_disk_full=ON: Setzt die Statusvariable super_read_only_disk_full auf ON, um anzuzeigen, dass der schreibgeschützte Modus aufgrund von wenig Speicherplatz ausgelöst wurde. Sie können den Wert der Statusvariable super_read_only_disk_full mit einem der folgenden Befehle anzeigen:
    • SHOW GLOBAL STATUS WHERE variable_name = 'super_read_only_disk_full';
    • SELECT * FROM performance_schema.global_status WHERE variable_name = 'super_read_only_disk_full';

Systemvariablen ändern das Verhalten von MySQL Server, während Statusvariablen statische Indikatoren für den MySQL Server-Status sind.

Recovery in normalem Vorgang

Nachdem SUPER_READ_ONLY und OFFLINE_MODE festgelegt wurden, führt Health Monitor Folgendes aus:

  • Überprüfen Sie den Speicherplatz jede Minute.
  • Legen Sie OFFLINE_MODE=OFF fest, wenn der verfügbare Speicherplatz wiederhergestellt wird und disk_recovery_time_1 Sekunden oder länger über disk_recovery_level bleibt.
  • Legen Sie SUPER_READ_ONLY=OFF fest, wenn der verfügbare Speicherplatz wiederhergestellt wird und für weitere disk_recovery_time_2 Sekunden oder länger über disk_recovery_level bleibt.

Normale Vorgänge werden fortgesetzt, sobald der Festplattenspeicher disk_recovery_time_1 + disk_recovery_time_2 Sekunden lang über disk_recovery_level bleibt.

Sobald der Speicherplatz wiederhergestellt wird, löscht Health Monitor die Systemvariablen SUPER_READ_ONLY und OFFLINE_MODE sowie die Statusvariable super_read_only_disk_full. Sie müssen die Instanz MySQL nicht neu starten, um die Variablen zu löschen.

Wenn wieder ein erheblicher oder anhaltender Speicherplatzmangel auftritt, setzt der Zustandsmonitor die Systemvariablen SUPER_READ_ONLY und OFFLINE_MODE sowie die Statusvariable super_read_only_disk_full im MySQL Server wieder auf ON.

Bevor eine primäre Instanz eines High-Availability-DB-Systems in den normalen Betriebsmodus versetzt wird, prüft der Health Monitor, ob der Server mit der Gruppenmehrheit online ist. Der Zustandsmonitor legt niemals SUPER_READ_ONLY oder OFFLINE_MODE für die sekundären Instanzen fest.

Recovery-Inkrement, maximaler Recovery-Zyklus und Recovery-Fenster

Jedes Mal, wenn MySQL Server aus einem erheblichen oder anhaltenden Speicherplatzmangel wiederhergestellt wird, erhöht der Health Monitor die Datenträger-Recovery-Zeit um disk_recovery_increment Sekunden.

Beispiel: Wenn disk_recovery_time_1 = 300 Sekunden und disk_recovery_time_2 = 600 Sekunden und disk_recovery_increment = 400 Sekunden sind, beträgt die Datenträger-Recovery-Zeit für jeden Zyklus wie folgt:

  • Zyklus 1: disk_recovery_time_1 = 300 Sekunden, disk_recovery_time_2 = 600 Sekunden
  • Zyklus 2: disk_recovery_time_1 = (300 + 400) Sekunden, disk_recovery_time_2 = (600+400) Sekunden
  • Zyklus 3: disk_recovery_time_1 = (300+400+400) Sekunden, disk_recovery_time_2 = (600+400+400) Sekunden

Der Health Monitor stellt den normalen Betriebsmodus maximal disk_recovery_max_cycles Mal innerhalb eines festen Fensters von disk_recovery_window Sekunden ab dem letzten Recovery-Zyklus wieder her. Beispiel: Wenn disk_recovery_max_cycles auf 5 und disk_recovery_window auf 86.400 Sekunden (1 Tag) gesetzt ist, kann der Zustandsmonitor in einem Fenster von 86.400 Sekunden fünfmal den normalen Betriebsmodus wiederherstellen. Wenn beim sechsten Mal im selben Fenster ein erheblicher oder anhaltender Mangel auftritt, werden die Systemvariablen SUPER_READ_ONLY und OFFLINE_MODE auf ON gesetzt.

Die Recovery-Anzahl wird nach disk_recovery_window Sekunden nach dem letzten Recovery zurückgesetzt.

Speicherwarnungen

Wenn der verfügbare Speicher unter bestimmte Schwellenwerte fällt, gibt Health Monitor die folgenden Warnungen aus:

  • WARNING_MEMORY_USAGE_LEVEL_1: Wenn der verfügbare Speicher unter 1024 MiB fällt.
  • WARNING_MEMORY_USAGE_LEVEL_2: Wenn der verfügbare Speicher unter 500 MiB fällt.
  • WARNING_MEMORY_USAGE_LEVEL_3: Wenn der verfügbare Speicher unter 100 MiB fällt.

Health Monitor protokolliert die Informationen zu MySQL-Version, globaler Speicherauslastung und verschiedenen Konfigurationseinstellungen im Fehlerlog. Die Informationen werden als durch Komma getrennte Werte protokolliert, um sie zur weiteren Analyse in eine Tabelle zu übertragen.

Health Monitor-Tabellen anzeigen

Health Monitor-Tabellen speichern Überwachungsdaten und Statistiken im Performance Schema von MySQL Server.

Die Integritätstabellen enthalten Informationen zum Datenträgerspeicher, Informationen zum Systemspeicher und Informationen zum Prozessspeicher.

Die Statistiktabellen enthalten Statistiken zur CPU-Auslastung des Systems, zur Datenträgerauslastung, zur Speicherauslastung und zum Serverprozess MySQL (mysqld). Jede Statistiktabelle enthält zwei Versionen: eine On-Demand-Version, die bei der Abfrage mit aktuellen Messwerten aufgefüllt wird, und eine Historienversion, für die Health Monitor einmal pro Minute Stichproben abruft und die Daten eines Tages beibehält. Beide Versionen der Tabelle haben dieselben Spalten.

Befehlszeilenclient verwenden

Mit einem Befehlszeilenclient wie MySQL-Client oder MySQL Shell können Sie die Health Monitor-Tabellen anzeigen.

Diese Aufgabe erfordert Folgendes:
  1. Wechseln Sie für die Shell MySQL in den SQL-Modus, indem Sie den Befehl \sql eingeben.
  2. Geben Sie die folgende SQL-Anweisung ein und geben Sie die Tabelle an, die Sie anzeigen möchten:
    SELECT * FROM performance_schema.<health_monitor_table>;

    Beispiel: Um den Status des Datenträgerspeichers anzuzeigen, verwenden Sie den folgenden SQL-Befehl:

    SELECT * FROM performance_schema.health_block_device;
    Hinweis

    Um die vollständige Liste der Tabellen anzuzeigen, können Sie in <health_monitor_table> angeben. Informationen hierzu finden Sie unter Zustandsmonitor-Tabellen.
Sie erhalten eine Antwort wie die folgende, die Informationen zum Status des Datenträgerspeichers anzeigt:

+-------------------------+---------------------+-------------+-----------------+-------------+-------------+
| DEVICE                  | TIMESTAMP           | TOTAL_BYTES | AVAILABLE_BYTES | USE_PERCENT | MOUNT_POINT |
+-------------------------+---------------------+-------------+-----------------+-------------+-------------+
| /dev/mapper/vg_db-lv_db | 2021-08-08 16:12:08 | 53656686592 |     51364134912 |        4.27 | /db         |
| /dev/mapper/vg_db-lv_db | 2021-08-08 16:13:08 | 53656686592 |     51364134912 |        4.27 | /db         |
| /dev/mapper/vg_db-lv_db | 2021-08-08 16:14:08 | 53656686592 |     51364134912 |        4.27 | /db         |
| /dev/mapper/vg_db-lv_db | 2021-08-08 16:15:08 | 53656686592 |     51364134912 |        4.27 | /db         |
| /dev/mapper/vg_db-lv_db | 2021-08-08 16:16:08 | 53656686592 |     51364134912 |        4.27 | /db         |
| /dev/mapper/vg_db-lv_db | 2021-08-08 16:17:08 | 53656686592 |     51364134912 |        4.27 | /db         |
| /dev/mapper/vg_db-lv_db | 2021-08-08 16:18:08 | 53656686592 |     51364134912 |        4.27 | /db         |
| /dev/mapper/vg_db-lv_db | 2021-08-08 16:19:08 | 53656686592 |     51364134912 |        4.27 | /db         |
| /dev/mapper/vg_db-lv_db | 2021-08-08 16:20:08 | 53656686592 |     51364134912 |        4.27 | /db         |
| /dev/mapper/vg_db-lv_db | 2021-08-08 16:21:08 | 53656686592 |     51364134912 |        4.27 | /db         |

Zustandsmonitortabellen

Informationen zu Datenträgerspeicher, Systemspeicherinformationen und Prozessspeicherinformationen finden Sie in den Health Monitor-Tabellen.

Die vollständige Liste der Health Monitor-Tabellen lautet wie folgt:

Tabelle performance_schema.health_block_device

Health Monitor verwendet die Tabelle performance_schema.health_block_device im Performanceschema von MySQL Server, um Daten auf belegtem und verfügbarem Datenträgerspeicher in einem DB-System zu speichern.

Tabelle 17-1: health_block_device: Performanceschema-Tabelle

Spalte Beschreibung
DEVICE Der Gerätename für die Festplatte.
TIMESTAMP Die Zeit, zu der das Datenbeispiel in dieser Zeile erfasst wurde.
TOTAL_BYTES Die gesamte Speichermenge auf dem Gerät in Byte.
AVAILABLE_BYTES Die Menge des auf dem Gerät verfügbaren Speichers in Byte.
USE_PERCENT Der belegte Speicherplatz in Prozent.
MOUNT_POINT Der Mount Point des Geräts.
Tabelle performance_schema.health_system_memory

Health Monitor verwendet die Tabelle performance_schema.health_system_memory im Performanceschema von MySQL Server, um Daten zur Speicherauslastung durch das DB-System zu speichern

Tabelle 17-2: health_system_memory: Performanceschema-Tabelle

Spalte Beschreibung
TIMESTAMP Die Zeit, zu der das Datenbeispiel in dieser Zeile erfasst wurde.
TOTAL_MEMORY Der gesamte Arbeitsspeicher für das System in Byte.
AVAILABLE Der zum Starten neuer Anwendungen ohne Swapping verfügbare Speicher in Byte.
USE_PERCENT Der Prozentsatz des belegten Speichers.
MEMORY_FREE Die Menge des nicht verwendeten Speichers.
MEMORY_FS_CACHE Der Dateisystemseitencache.
SWAP_TOTAL Der gesamte Swap-Speicher.
SWAP_FREE Freier Swapspeicher gesamt.
Tabelle performance_schema.health_process_memory

Health Monitor verwendet die Tabelle performance_schema.health_process_memory im Performanceschema von MySQL Server, um Daten zur Speicherauslastung durch den MySQL Server-Prozess (mysqld) im DB-System zu speichern.

Tabelle 17-3: health_process_memory: Performanceschema-Tabelle

Spalte Beschreibung
TIMESTAMP Die Zeit, zu der das Datenbeispiel in dieser Zeile erfasst wurde.
PROCESS_NAME Name des MySQL Server-Prozesses
PID Die System-ID für den MySQL Server-Prozess.
VM_RSS Die Resident-Set-Größe des MySQL-Serverprozesses in Byte.
VM_DATA Die Größe des MySQL Server-Prozessdatensegments in Byte.
VM_SWAP Die Größe des MySQL-Serverprozess-Swapsegments in Byte.
PAGE_FAULTS Die Anzahl der Seitenfehler, die Datenträger-I/O erfordern.
Tabelle performance_schema.system_cpu_stats

Health Monitor erfasst Statistiken zur CPU-Auslastung durch das DB-System. Die Statistiken sind in zwei Tabellen im Performance Schema von MySQL Server, einer On-Demand-Tabelle und einer entsprechenden Historientabelle verfügbar. Beide Tabellen haben dieselben Spalten.

Die Tabelle performance_schema.system_cpu_stats im Performance Schema von MySQL Server wird bei der Abfrage mit einem Datenbeispiel aufgefüllt. In der Tabelle performance_schema.system_cpu_stats_history werden Datenbeispiele regelmäßig gespeichert.

Die Statistiken in diesen Tabellen stammen aus der Linux-Systemdatei /proc/stat.

Tabelle 17-4: Performanceschematabellen system_cpu_stats und system_cpu_stats_history

Spalte Beschreibung
TIMESTAMP Die Zeit, zu der das Datenbeispiel in dieser Zeile erfasst wurde.
CPU Die CPU-Zeile zeigt die aggregierten CPU-Auslastungsdaten an, und jede nummerierte Zeile (z.B. cpu0, cpu1) zeigt Daten für einen einzelnen Prozess an. Alle Zeitangaben sind in Millisekunden.
USER_MS Die im Benutzermodus aufgewendete Zeit.
NICE_MS Die Zeit, die im Benutzermodus mit niedriger Priorität verbracht wurde.
SYSTEM_MS Die im Systemmodus verbrachte Zeit.
IDLE_MS Die in der inaktiven Task verbrachte Zeit.
IOWAIT_MS Die Zeit, die für das Warten auf den Abschluss von I/O aufgewendet wurde.
IRQ_MS Die Zeit, die für die Wartung von Hardwareunterbrechungen aufgewendet wurde.
SOFTIRQ_MS Die Zeit, die für die Wartung von Softwareunterbrechungen aufgewendet wurde.
STEAL_MS Die Zeit, die für die Ausführung anderer Betriebssysteme in einer virtualisierten Umgebung aufgewendet wurde.
GUEST_MS Die Zeit, die für die Ausführung einer virtuellen CPU mit normaler Priorität aufgewendet wurde.
GUEST_NICE_MS Die Zeit, die für die Ausführung einer virtuellen CPU mit niedriger Priorität aufgewendet wurde.
Tabelle performance_schema.system_disk_stats

Health Monitor erfasst Statistiken zur Datenträgerauslastung durch das DB-System. Die Statistiken sind in zwei Tabellen im Performance Schema von MySQL Server, einer On-Demand-Tabelle und einer entsprechenden Historientabelle verfügbar. Beide Tabellen haben dieselben Spalten.

Die Tabelle performance_schema.system_disk_stats im Performance Schema von MySQL Server wird bei der Abfrage mit einem Datenbeispiel aufgefüllt. In der Tabelle performance_schema.system_disk_stats_history werden Datenbeispiele regelmäßig gespeichert.

Die Statistiken in diesen Tabellen stammen aus der Linux-Systemdatei /proc/diskstats.

Tabelle 17-5: Performanceschematabellen system_disk_stats und system_disk_stats_history

Spalte Beschreibung
TIMESTAMP Die Zeit, zu der das Datenbeispiel in dieser Zeile erfasst wurde.
DEVICE Der Gerätename für diese Festplatte.
READS Die Anzahl der erfolgreich abgeschlossenen Lesevorgänge.
READ_BYTES Die Anzahl der gelesenen Byte.
READ_TIME_MS Die Lesezeit in Millisekunden.
WRITES Die Anzahl der erfolgreich abgeschlossenen Schreibvorgänge.
WRITE_BYTES Die Anzahl der geschriebenen Byte.
WRITE_TIME_MS Die Schreibzeit in Millisekunden.
FLUSHES Die Anzahl von Flush-Anforderungen wurde erfolgreich abgeschlossen.
FLUSH_TIME_MS Die für das Spülen aufgewendete Zeit in Millisekunden.
Tabelle performance_schema.system_memory_stats

Health Monitor erfasst Statistiken zur Speicherauslastung durch das DB-System. Die Statistiken sind in zwei Tabellen im Performance Schema von MySQL Server, einer On-Demand-Tabelle und einer entsprechenden Historientabelle verfügbar. Beide Tabellen haben dieselben Spalten.

Die Tabelle performance_schema.system_memory_stats im Performance Schema von MySQL Server wird bei der Abfrage mit einem Datenbeispiel aufgefüllt. In der Tabelle performance_schema.system_memory_stats_history werden Datenbeispiele regelmäßig gespeichert.

Die Statistiken in diesen Tabellen stammen aus der Linux-Systemdatei /proc/meminfo.

Tabelle 17-6: Performanceschematabellen system_memory_stats und system_memory_stats_history

Spalte Beschreibung
TIMESTAMP Die Zeit, zu der das Datenbeispiel in dieser Zeile erfasst wurde.
TOTAL_BYTES Der gesamte nutzbare Systemspeicher in Byte.
FREE_BYTES Der ungenutzte Speicher.
USED_BYTES Der insgesamt verwendete Speicher.
AVAILABLE_BYTES Der geschätzte Speicher, der zum Starten neuer Anwendungen verfügbar ist, in Byte.
BUFFER_BYTES Die Speichermenge, die für den temporären Speicher für Raw-Datenträgerblöcke verwendet wird.
CACHED_BYTES Die Speichermenge, die zum Zwischenspeichern von Dateien verwendet wird, die von der Festplatte gelesen werden (der Seitencache).
SLAB_BYTES Die Speichermenge, die zum Zwischenspeichern von kernelinternen Datenstrukturen verwendet wird.
SWAP_TOTAL_BYTES Die Gesamtmenge des auf der Festplatte verfügbaren Swapspeichers.
SWAP_FREE_BYTES Der gesamte Swapspeicher, der aktuell nicht verwendet wird.
SWAP_USED_BYTES Die gesamte Speichermenge, die aus dem RAM ausgetauscht wurde und sich vorübergehend auf der Festplatte befindet.
SWAP_IN Die Speichermenge, die von der Festplatte in KB pro Sekunde in den RAM zurückgelagert wurde.
SWAP_OUT Die Speichermenge, die vom RAM auf die Festplatte ausgetauscht wird, in KB pro Sekunde.
Tabelle performance_schema.system_process_stats

Health Monitor erfasst Statistiken für jeden Thread, der vom MySQL Server-Prozess im DB-System verwendet wird. Die Statistiken sind in zwei Tabellen im Performance Schema von MySQL Server, einer On-Demand-Tabelle und einer entsprechenden Historientabelle verfügbar. Beide Tabellen haben dieselben Spalten.

Die Tabelle performance_schema.system_process_stats im Performance Schema von MySQL Server wird bei der Abfrage mit einem Datenbeispiel aufgefüllt. In der Tabelle performance_schema.system_process_stats_history werden Datenbeispiele regelmäßig gespeichert.

Bei Prozessstatistiken gibt die On-Demand-Tabelle eine Zeile für jeden Thread zurück, der vom mysqld-Prozess verwendet wird. Die Historientabelle speichert jedoch eine einzelne Zeile für jedes Beispiel mit den aggregierten Summen für alle Threads, die vom mysqld-Prozess verwendet werden.

Die Statistiken in diesen Tabellen stammen aus der Linux-Systemdatei /proc/self/task/[pid]/stat.

Tabelle 17-7: Performanceschematabellen system_process_stats und system_process_stats_history

Spalte Beschreibung
TIMESTAMP Die Zeit, zu der das Datenbeispiel in dieser Zeile erfasst wurde.
PID Die Prozess-ID.
PROCESS_NAME Der Prozessname: mysqld.
TID Die Thread-ID für den einzelnen Thread, der in dieser Zeile angezeigt wird.
THREAD_NAME Der instrumentierte Threadname für den einzelnen Thread, der in dieser Zeile angezeigt wird.
STATE Ein Zeichen, das den Threadstatus zum Zeitpunkt des Beispiels anzeigt: Wird ausgeführt (R), befindet sich in einem unterbrechungsfreien Wartezustand (S), wartet in einem unterbrechungsfreien Datenträger-Sleep (D), Zombie-Thread (Z), gestoppt in einem Signal oder Trace gestoppt (T), Paging (W), tot (X), Wakekill (K), wach (W) oder geparkt (P).
UTIME_MS Die Zeit, die dieser Thread im Benutzermodus in Millisekunden verbracht hat.
STIME_MS Die Zeit, die dieser Thread im Kernel-Modus verbracht hat, in Millisekunden.
CUTIME_MS Die Zeit, die untergeordnete Prozesse dieses Prozesses im Benutzermodus in Millisekunden verbracht haben.
CSTIME_MS Die Zeit, die untergeordnete Prozesse dieses Prozesses im Kernelmodus in Millisekunden verbracht haben.
NUM_THREADS Der Nonnenschwanz der Fäden in diesem Prozess.
VSIZE_BYTES Die Größe des virtuellen Speichers in Byte.
RSS_BYTES Die Anzahl der Byte, die der Prozess im realen Speicher hat (die Resident Set-Größe).
RSSLIM_BYTES Der Grenzwert in Byte für die Resident Set-Größe des Prozesses.
PROCESSOR Die CPU-Nummer, auf der der Thread zuletzt ausgeführt wurde.
DELAYACCT_BLKIO_MS Die aggregierten Block-I/O-Verzögerungen in Millisekunden.
GUEST_TIME_MS Die Gastzeit für den Prozess in Millisekunden.
CGUEST_TIME_MS Die Gastzeit für die untergeordneten Prozesse des Prozesses in Millisekunden.
READ_BYTES Die Anzahl der Byte, die dieser Prozess aus der Speicherebene abgerufen hat.
WRITE_BYTES Die Anzahl der Byte, die dieser Prozess an die Speicherebene gesendet hat.

Zustandsmonitorvariablen anzeigen

Die Zustandsmonitorvariablen sind Konfigurationseinstellungen für die Überwachungsaktivität im DB-System. Sie können die Werte dieser Variablen nicht ändern.

Befehlszeilenclient verwenden

Mit einem Befehlszeilenclient wie MySQL-Client oder MySQL Shell können Sie die Variablen des Health Monitor und ihre Werte anzeigen.

Diese Aufgabe erfordert Folgendes:
Gehen Sie wie folgt vor, um die Variablen des Zustandsmonitors anzuzeigen:
  1. Wechseln Sie für die Shell MySQL in den SQL-Modus, indem Sie den Befehl \sql eingeben.
  2. Geben Sie die folgende SQL-Anweisung ein:
    show variables like 'health_monitor%';
Sie erhalten eine ähnliche Antwort wie im folgenden Beispiel:
+----------------------------------------------+-------+
| Variable_name | Value |
+----------------------------------------------+-------+
| health_monitor.disk_fallback_enable | ON |
| health_monitor.disk_fallback_force | OFF |
| health_monitor.disk_low_space_critical_level | 2000 |
| health_monitor.disk_low_space_duration | 300 |
| health_monitor.disk_low_space_level | 5000 |
| health_monitor.disk_low_space_percent | 4 |
| health_monitor.disk_monitored | /db |
| health_monitor.disk_recovery_enable | ON |
| health_monitor.disk_recovery_increment | 300 |
| health_monitor.disk_recovery_level | 5 |
| health_monitor.disk_recovery_max_cycles | 3 |
| health_monitor.disk_recovery_time_1 | 300 |
| health_monitor.disk_recovery_time_2 | 300 |
| health_monitor.disk_recovery_window | 86400 |
| health_monitor.disk_retention | 86400 |
| health_monitor.disk_running | ON |
| health_monitor.disk_sample_rate | 60 |
| health_monitor.disk_usage_warning_level_1 | 20 |
| health_monitor.disk_usage_warning_level_2 | 10 |
| health_monitor.disk_usage_warning_level_3 | 5 |
...
+----------------------------------------------+-------+
35 rows in set (0.01 sec)

Variablen des Zustandsmonitors

Alle Systemvariablen des Health Monitor haben das Präfix health_monitor. Sie können die Werte der Variablen nicht von ihren Standardwerten in einem DB-System ändern.

Hinweis

Das Präfix health_monitor. wird in der folgenden Tabelle weggelassen. Beispiel: disk_fallback_enable ist eigentlich health_monitor.disk_fallback_enable.

Tabelle 17-8: Systemvariablen des Health Monitor

Systemvariable Standardwert Beschreibung
disk_fallback_enable EIN Wenn ein erheblicher oder anhaltender Speicherplatzmangel auftritt, setzt Health Monitor die Systemvariable SUPER_READ_ONLY und OFFLINE_MODE im MySQL Server auf ON.
disk_fallback_force OFF Beenden Sie Vordergrundabfragen, die globale Metadatensperren enthalten, und wiederholen Sie die Einstellung SUPER_READ_ONLY.
disk_low_space_critical_level 2.000 Der kritische niedrige Schwellenwert für den Speicherplatz in MiB. Wenn der verfügbare Speicherplatz für eine beliebige Dauer unter diesen Wert fällt, legt Health Monitor die Modi SUPER_READ_ONLY und OFFLINE_MODE auf MySQL Server fest.
disk_low_space_duration 300 Die Dauer (in Sekunden), für die der verfügbare Speicherplatz unter disk_low_space_level oder disk_low_space_percent (je nachdem, welcher Wert niedriger ist) bleiben kann, bevor Health Monitor die Modi SUPER_READ_ONLY und OFFLINE_MODE auf MySQL Server festlegt.
disk_low_space_level 5.000 Der Schwellenwert für niedrigen Speicherplatz für die Speicherreserve in MiB. Wenn der verfügbare Speicherplatz diesen Prozentsatz des insgesamt verfügbaren Speichers länger als den Wert von disk_low_space_duration entfernt, legt Health Monitor die Modi SUPER_READ_ONLY und OFFLINE_MODE auf MySQL Server fest.
disk_low_space_percent 4 Der Schwellenwert für den geringen Speicherplatz für die Speicherreserve in Prozent. Wenn der verfügbare Speicherplatz diesen Prozentsatz des insgesamt verfügbaren Speichers länger als den Wert von disk_low_space_duration entfernt, legt Health Monitor die Modi SUPER_READ_ONLY und OFFLINE_MODE auf MySQL Server fest.
disk_monitored /db Der Mount Point für Datenträgerstatistiken.
disk_retention 86.400

Gibt an, wie viele Sekunden jedes Datenbeispiel in den Historientabellen für Datenträgernutzungsdaten aufbewahrt wird.

Der Mindestwert beträgt 1 Sekunde, der Standardwert beträgt 86400 Sekunden (1 Tag) und der Höchstwert 864000 Sekunden (10 Tage).

Wenn memory_sample_rate=60 und memory_retention=86400, werden 1440 Samples beibehalten, wobei das älteste Sample alle 60 Sekunden gelöscht wird.

disk_recovery_enable EIN Setzen Sie die Variable auf ON, um die Wiederherstellung nach einem anhaltenden oder erheblichen Mangel zu ermöglichen, und auf OFF, um die Wiederherstellung nach einem anhaltenden oder erheblichen Mangel zu deaktivieren.
disk_recovery_level 5% Der Prozentsatz des gesamten Festplattenspeichers über der Speicherreserve.
  • Wenn der verfügbare Speicher disk_recovery_time_1 Sekunden lang über der Ebene disk_recovery_level bleibt, setzt der Zustandsmonitor OFFLINE_MODE = OFF.
  • Wenn der Speicher für weitere disk_recovery_time_2 Sekunden über der disk_recovery_level-Ebene bleibt, setzt der Zustandsmonitor SUPER_READ_ONLY = OFF.
disk_recovery_time_1 300 Sekunden Die Zeit (in Sekunden), die der verfügbare Speicher über disk_recovery_level bleiben muss, bevor der Zustandsmonitor OFFLINE_MODE = OFF festlegt.
disk_recovery_time_2 300 Sekunden Die zusätzliche Zeit (in Sekunden), die der verfügbare Speicher nach disk_recovery_time_1 über disk_recovery_level bleiben muss, bevor der Zustandsmonitor SUPER_READ_ONLY = OFF festlegt.
disk_recovery_max_cycles 3 Zyklen Die maximale Anzahl, wie oft der MySQL-Server innerhalb des disk_recovery_cycle_window-Zeitrahmens wieder in den normalen Betriebsmodus versetzt werden kann.
disk_recovery_window 86400 Sekunden Die Zeit (in Sekunden) nach dem letzten erfolgreichen Recovery-Zyklus, nach dem die Recovery-Anzahl zurückgesetzt wird. Der Wert 0 bedeutet, dass die Recovery-Anzahl nie zurückgesetzt wird.
disk_recovery_increment 300 Sekunden Die Zeit (in Sekunden), um die Recovery-Timer disk_recovery_time_1 und disk_recovery_time_2 für jeden Recovery-Zyklus zu erhöhen.
disk_running EIN Der aktive Status des Festplattenmonitors des Zustandsmonitors.
disk_sample_rate 60 Die Häufigkeit der Datenträgerdatenerfassung in Sekunden. Standardmäßig werden Daten alle 60 Sekunden erfasst. Die minimale Stichprobenrate beträgt 1 (jede Sekunde) und die maximale beträgt 86400 (einmal täglich).
disk_usage_warning_level_1 20 Ein Prozentsatz des verfügbaren Speicherplatzes, der größer ist als disk_low_space_level. Wenn der verfügbare Speicherplatz unter diese Grenze fällt, wird die Warnung WARNING_DISK_USAGE_LEVEL_1 ausgelöst.
disk_usage_warning_level_2 10 Ein Prozentsatz des verfügbaren Speicherplatzes, der größer ist als disk_low_space_level. Wenn der verfügbare Speicherplatz unter diese Grenze fällt, wird die Warnung WARNING_DISK_USAGE_LEVEL_2 ausgelöst.
disk_usage_warning_level_3 5 Ein Prozentsatz des verfügbaren Speicherplatzes, der größer ist als disk_low_space_level. Wenn der verfügbare Speicherplatz unter diese Grenze fällt, wird die Warnung WARNING_DISK_USAGE_LEVEL_3 ausgelöst.
memory_reporting EIN Ermöglicht die Erfassung von Speicherdaten.
memory_retention 86.400

Gibt an, für wie viele Sekunden jedes Datensample in den Historientabellen für Speicherauslastungsdaten aufbewahrt wird.

Der Mindestwert beträgt 1 Sekunde, der Standardwert beträgt 86400 Sekunden (1 Tag) und der Höchstwert 864000 Sekunden (10 Tage).

memory_running EIN Der aktive Status des Zustandsmonitors.
memory_sample_rate 60 Die Häufigkeit der Speicherdatenerfassung in Sekunden. Standardmäßig werden Daten alle 60 Sekunden erfasst. Die minimale Stichprobenrate beträgt 1 (jede Sekunde) und die maximale beträgt 86400 (einmal täglich).
memory_usage_warning_level_1 1.024 Eine verfügbare Speichermenge (MiB). Wenn der verfügbare Speicher unter diese Grenze fällt, wird die Warnung WARNING_MEMORY_USAGE_LEVEL_1 ausgelöst.
memory_usage_warning_level_2 500 Eine verfügbare Speichermenge (MiB). Wenn der verfügbare Speicher unter diese Grenze fällt, wird die Warnung WARNING_MEMORY_USAGE_LEVEL_2 ausgelöst.
memory_usage_warning_level_3 100 Eine verfügbare Speichermenge (MiB). Wenn der verfügbare Speicher unter diese Grenze fällt, wird die Warnung WARNING_MEMORY_USAGE_LEVEL_3 ausgelöst.
status_interval 10 Die Häufigkeit (als Vielfaches von disk_sample_rate), mit der Statusnachrichten an die Fehlerlogtabelle gesendet werden. Beispiel: Wenn status_interval = 10 und disk_sample_rate = 60 Sekunden, sendet der Zustandsmonitor alle 600 Sekunden eine Statusmeldung an die Fehlerlogtabelle.
system_cpu_stats_history EIN Gibt an, ob Statistiken zur System-CPU-Auslastung erfasst und in der Performance-Schematabelle system_cpu_stats_history gespeichert werden. Wenn diese Statistiken nicht gespeichert sind, können Sie weiterhin nach Bedarf auf einen Snapshot zugreifen, indem Sie die Tabelle system_cpu_stats abfragen.
system_disk_stats_history EIN Gibt an, ob Statistiken zur Systemdatenträgerauslastung erfasst und in der Performance-Schematabelle system_memory_stats_history gespeichert werden. Wenn diese Statistiken nicht gespeichert sind, können Sie weiterhin nach Bedarf auf einen Snapshot zugreifen, indem Sie die Tabelle system_memory_stats abfragen.
system_memory_stats_history EIN Gibt an, ob Statistiken zur Systemspeicherauslastung erfasst und in der Performance-Schematabelle system_disk_stats_history gespeichert werden. Wenn diese Statistiken nicht gespeichert sind, können Sie weiterhin nach Bedarf auf einen Snapshot zugreifen, indem Sie die Tabelle system_disk_stats abfragen.
system_process_stats_history EIN Gibt an, ob MySQL-Serverprozessstatistiken (mysqld) erfasst und in der Performance-Schematabelle system_process_stats_history gespeichert werden. Wenn diese Statistiken nicht gespeichert sind, können Sie weiterhin nach Bedarf auf einen Snapshot zugreifen, indem Sie die Tabelle system_process_stats abfragen.
system_retention 86.400

Gibt an, wie viele Sekunden jedes Datensample in den Historientabellen für System- und Prozessstatistiken aufbewahrt wird.

Der Mindestwert beträgt 1 Sekunde, der Standardwert beträgt 86400 Sekunden (1 Tag) und der Höchstwert 864000 Sekunden (10 Tage).

system_running EIN Gibt an, ob Systemstatistiken vom Health Monitor erfasst werden. Wenn dieser Wert auf ON gesetzt ist, sind die Statistiktabellen für System-CPU-Auslastung, Datenträgerauslastung, Speicherauslastung und den Serverprozess MySQL (mysqld) verfügbar, und die entsprechenden Historientabellen werden aufgefüllt, wenn ihre Systemvariablen auf ON gesetzt sind.
system_sample_rate 60 Die Häufigkeit der Erfassung von Systemstatistiken in Sekunden. Standardmäßig werden Daten alle 60 Sekunden erfasst. Die minimale Stichprobenrate beträgt 1 (jede Sekunde) und die maximale beträgt 86400 (einmal täglich).

Meldungen des Zustandsmonitors

Die Fehler, Warnungen und Statusaktualisierungen des Zustandsmonitors werden in performance_schema.error_log protokolliert. Health Monitor reduziert TiB als T, GiB als G und MiB als M im Fehlerlog. Beispiel: 306.6G = 306.6 GiB = 329.2 GB.

Tabelle 17-9: Meldungen des Zustandsmonitors

Nachrichtentyp Beschreibung
Statusupdate Der Zustandsmonitor gibt eine routinemäßige Statusaktualisierung entsprechend der durch sample_rate * status_interval definierten Anzahl von Sekunden aus. Beispiele:
[Note] [MY-013694] [Health] Disk Collector: Started: running=ON, monitored='/db', 
sample rate=30s, retention=86400s, max samples=2880, status interval=1, low level=100 MiB, 
low percent=4%, critical level=10 MiB, warning levels=20/10/5%, fallback (enable=ON, force=ON), 
low space duration=300s, recovery (enable=ON, level=5%, time 1=300s, time 2=300s, max cycles=3,
increment=10, window=86400)
Schwellenwertwarnung Wenn der verfügbare Speicherplatz unter einen der von disk_usage_warning_level_* definierten Schwellenwerte fällt, gibt der Zustandsmonitor eine Warnung aus. Das folgende Beispiel zeigt die Warnung für disk_usage_warning_level_2, definiert als 4 % des Gesamtspeichers über dem Grenzwert für knappen Speicherplatz:
[Warning] [MY-013695] [Health] Disk: Warning Level 2 (62M): monitored='/db', 
available=59M, total=466M, used=87.2%, low limit=18M, critical=10M, recovery=40M, 
warnings=107M/62M/40M
disk_low_space_duration-Warnung Wenn der verfügbare Festplattenspeicher unter den Grenzwert von 18 GiB fällt, startet der Zustandsmonitor den Fallback-Timer und gibt eine Warnung aus. Beispiele:
[Warning] [MY-013695] [Health] Disk: Low Level (18M): Fallback Timer Running: 300 seconds 
until SUPER_READ_ONLY: monitored='/db', available=15M, total=466M, used=96.6%, low limit=18M, 
critical=10M, recovery=40M, warnings=107M/62M/40M
OFFLINE/SUPER_READ_ONLY-Moduswarnung Wenn der verfügbare Datenträgerspeicherplatz länger als disk_low_space_duration Sekunden unter dem Grenzwert für niedrigen Speicherplatz bleibt, fügt der Zustandsmonitor den Server in SUPER_READ_ONLY und OFFLINE_MODE ein. Beispiele:
[Warning] [MY-013695] [Health] Disk: Low Level (18M): Fallback Timer Running: 30 seconds until 
SUPER_READ_ONLY: monitored='/db', available=15M, total=466M, used=96.6%, low limit=18M, critical=10M, 
recovery=40M, warnings=107M/62M/40M
[Warning] [MY-013695] [Health] Disk: Low Level (18M): Fallback Timer Expired
[Warning] [MY-013695] [Health] Disk: Low Level (18M): OFFLINE_MODE = ON
[Warning] [MY-013695] [Health] Disk: Low Level (18M): SUPER_READ_ONLY = ON
Siehe Problem SUPER_READ_ONLY und OFFLINE_MODE lösen, das durch geringen freien Speicherplatz verursacht wird.
Kritische Warnung Wenn der verfügbare Speicherplatz für eine beliebige Zeit unter disk_low_space_critical_level fällt, wird der Server vom Zustandsmonitor in den Modus SUPER_READ_ONLY versetzt. Beispiele:
[Warning] [MY-013695] [Health] Disk Collector: CRITICAL LEVEL (2G): 
OFFLINE_MODE=ON: mount point='/db', available=1.9G, total=1024G, 
used=99.1%, low limit=5.0G, critical=2.0G, warnings=204G/102G/51G 
[Warning] [MY-013695] [Health] Disk Collector: CRITICAL LEVEL (2G): 
SUPER_READ_ONLY=ON: mount point='/db', available=1.9G, total=1024G, 
used=99.1%, low limit=5.0G, critical=2.0G, warnings=204G/102G/51G
Warnung wegen abgebrochenem Timer Wenn der verfügbare Speicher über den Grenzwert für knappen Speicherplatz ansteigt, bevor disk_low_space_duration Sekunden abgelaufen sind, wird der Fallback-Modus-Timer abgebrochen. Der Zustandsmonitor gibt zudem entweder eine Statusmeldung oder eine Warnmeldung aus, wenn der verfügbare Speicherplatz noch im Warnbereich liegt. Beispiele:
[Warning] [MY-013695] [Health] Disk: Low Level (18M): Fallback Timer Canceled
[Warning] [MY-013695] [Health] Disk: Warning Level 1 (107M): monitored='/db', available=79M, 
total=466M, used=82.9%, low limit=18M, critical=10M, recovery=40M, warnings=107M/62M/40M
Speicherwarnung Wenn der verfügbare Speicher unter einen der von memory_usage_warning_level_* definierten Schwellenwerte fällt, gibt der Zustandsmonitor eine Warnung aus, die die Speicherdiagnosedetails in durch Komma getrennten Werten (CSV) enthält. Die CSV-Daten im folgenden Beispiel wurden aufgrund von Speicherplatzbeschränkungen entfernt.
[Warning] [MY-013695] [Health] MEMORY: WARNING LEVEL 1 (1.0G): available=950M, total=7.5G, used=87.6%, 
mysqld=5.9G, warnings=1.0G/500M/100M
[Warning] [MY-013695] [Health]  
[Warning] [MY-013695] [Health] ===== MEMORY DIAGNOSTICS BEGIN (csv) =====

---------------------------------------
TOTAL ALLOCATED MEMORY AND BUFFER SIZES
---------------------------------------
keyword,value
mysql_version,8.0.33
total_allocated,15121493496
innodb_buffer_pool_size,13958643712
join_buffer_size,262144
----------------------------------------
MEMORY AGGREGATION PER LOGICAL COMPONENT
----------------------------------------
component,current_count,current_alloc,max_alloc,min_alloc
...<csv data>...

-----------------------
MEMORY USAGE PER THREAD
-----------------------
thread_id,user,current_count_used,current_allocated,current_avg_alloc,current_max_alloc,total_allocated
...<csv data>...

-----------------------
MEMORY USAGE PER USER
-----------------------
user,current_count_used,current_allocated,current_avg_alloc,current_max_alloc,total_allocated
...<csv data>...

-------------------
PROCESSLIST DETAILS
-------------------
thd_id,conn_id,user,db,command,state,time,current_statement,execution_engine,statement_latency,progress,
lock_latency,cpu_latency,rows_examined,rows_sent,rows_affected,tmp_tables,tmp_disk_tables,full_scan,
last_statement,last_statement_latency,current_memory,last_wait,last_wait_latency,source,trx_latency,
trx_state,trx_autocommit,pid,program_name
...<csv data>...

---------------
SESSION DETAILS
---------------
thd_id,conn_id,user,db,command,state,time,current_statement,execution_engine,statement_latency,progress,
lock_latency,cpu_latency,rows_examined,rows_sent,rows_affected,tmp_tables,tmp_disk_tables,full_scan,
last_statement,last_statement_latency,current_memory,last_wait,last_wait_latency,source,trx_latency,
trx_state,trx_autocommit,pid,program_name
...<csv data>...

--------------------------------------------------------
CURRENT STATEMENT PER THREAD ORDERED BY STATEMENT MEMORY
--------------------------------------------------------
THREAD_ID,EVENT_ID,END_EVENT_ID,EVENT_NAME,SOURCE,TIMER_START,TIMER_END,TIMER_WAIT,LOCK_TIME,SQL_TEXT,
DIGEST,DIGEST_TEXT,CURRENT_SCHEMA,OBJECT_TYPE,OBJECT_SCHEMA,OBJECT_NAME,OBJECT_INSTANCE_BEGIN,MYSQL_ERRNO,
RETURNED_SQLSTATE,MESSAGE_TEXT,ERRORS,WARNINGS,ROWS_AFFECTED,ROWS_SENT,ROWS_EXAMINED,CREATED_TMP_DISK_TABLES,
CREATED_TMP_TABLES,SELECT_FULL_JOIN,SELECT_FULL_RANGE_JOIN,SELECT_RANGE,SELECT_RANGE_CHECK,SELECT_SCAN,
SORT_MERGE_PASSES,SORT_RANGE,SORT_ROWS,SORT_SCAN,NO_INDEX_USED,NO_GOOD_INDEX_USED,NESTING_EVENT_ID,
NESTING_EVENT_TYPE,NESTING_EVENT_LEVEL,STATEMENT_ID,CPU_TIME,MAX_CONTROLLED_MEMORY,MAX_TOTAL_MEMORY,
EXECUTION_ENGINE
...<csv data>...

----------------------------------------------------------
CURRENT STATEMENT PER THREAD FOR THREADS USING MOST MEMORY
----------------------------------------------------------
THREAD_ID,EVENT_ID,END_EVENT_ID,EVENT_NAME,SOURCE,TIMER_START,TIMER_END,TIMER_WAIT,LOCK_TIME,SQL_TEXT,
DIGEST,DIGEST_TEXT,CURRENT_SCHEMA,OBJECT_TYPE,OBJECT_SCHEMA,OBJECT_NAME,OBJECT_INSTANCE_BEGIN,MYSQL_ERRNO,
RETURNED_SQLSTATE,MESSAGE_TEXT,ERRORS,WARNINGS,ROWS_AFFECTED,ROWS_SENT,ROWS_EXAMINED,CREATED_TMP_DISK_TABLES,
CREATED_TMP_TABLES,SELECT_FULL_JOIN,SELECT_FULL_RANGE_JOIN,SELECT_RANGE,SELECT_RANGE_CHECK,SELECT_SCAN,
SORT_MERGE_PASSES,SORT_RANGE,SORT_ROWS,SORT_SCAN,NO_INDEX_USED,NO_GOOD_INDEX_USED,NESTING_EVENT_ID,
NESTING_EVENT_TYPE,NESTING_EVENT_LEVEL,STATEMENT_ID,CPU_TIME,MAX_CONTROLLED_MEMORY,MAX_TOTAL_MEMORY,
EXECUTION_ENGINE,thread_id
...<csv data>...

----------------------------------------------------------
STATEMENT HISTORY PER THREAD FOR THREADS USING MOST MEMORY
----------------------------------------------------------
THREAD_ID,EVENT_ID,END_EVENT_ID,EVENT_NAME,SOURCE,TIMER_START,TIMER_END,TIMER_WAIT,LOCK_TIME,SQL_TEXT,
DIGEST,DIGEST_TEXT,CURRENT_SCHEMA,OBJECT_TYPE,OBJECT_SCHEMA,OBJECT_NAME,OBJECT_INSTANCE_BEGIN,MYSQL_ERRNO,
RETURNED_SQLSTATE,MESSAGE_TEXT,ERRORS,WARNINGS,ROWS_AFFECTED,ROWS_SENT,ROWS_EXAMINED,CREATED_TMP_DISK_TABLES,
CREATED_TMP_TABLES,SELECT_FULL_JOIN,SELECT_FULL_RANGE_JOIN,SELECT_RANGE,SELECT_RANGE_CHECK,SELECT_SCAN,
SORT_MERGE_PASSES,SORT_RANGE,SORT_ROWS,SORT_SCAN,NO_INDEX_USED,NO_GOOD_INDEX_USED,NESTING_EVENT_ID,
NESTING_EVENT_TYPE,NESTING_EVENT_LEVEL,STATEMENT_ID,CPU_TIME,MAX_CONTROLLED_MEMORY,MAX_TOTAL_MEMORY,
EXECUTION_ENGINE,thread_id
...<csv data>...

-----------------------------
EVENTS ALLOCATING MOST MEMORY
-----------------------------
processlist_id,processlist_user,thread_id,event_name,count_alloc,count_free,current_count_used,
current_number_of_bytes_used
...<csv data>...

----------------------
BUFFER POOL STATISTICS
----------------------
POOL_ID,POOL_SIZE,FREE_BUFFERS,DATABASE_PAGES,OLD_DATABASE_PAGES,MODIFIED_DATABASE_PAGES,PENDING_DECOMPRESS,
PENDING_READS,PENDING_FLUSH_LRU,PENDING_FLUSH_LIST,PAGES_MADE_YOUNG,PAGES_NOT_MADE_YOUNG,PAGES_MADE_YOUNG_RATE,
PAGES_MADE_NOT_YOUNG_RATE,NUMBER_PAGES_READ,NUMBER_PAGES_CREATED,NUMBER_PAGES_WRITTEN,PAGES_READ_RATE,
PAGES_CREATE_RATE,PAGES_WRITTEN_RATE,NUMBER_PAGES_GET,HIT_RATE,YOUNG_MAKE_PER_THOUSAND_GETS,
NOT_YOUNG_MAKE_PER_THOUSAND_GETS,NUMBER_PAGES_READ_AHEAD,NUMBER_READ_AHEAD_EVICTED,READ_AHEAD_RATE,
READ_AHEAD_EVICTED_RATE,LRU_IO_TOTAL,LRU_IO_CURRENT,UNCOMPRESS_TOTAL,UNCOMPRESS_CURRENT
...<csv data>...

Verwandte Themen