Heim  >  Artikel  >  System-Tutorial  >  Detaillierte Erläuterung der MySQL-Leistungsindikatoren und Berechnungsmethoden

Detaillierte Erläuterung der MySQL-Leistungsindikatoren und Berechnungsmethoden

王林
王林nach vorne
2024-03-10 21:07:46367Durchsuche

Die überwiegende Mehrheit der MySQL-Leistungsmetriken kann auf zwei Arten ermittelt werden:

Detaillierte Erläuterung der MySQL-Leistungsindikatoren und Berechnungsmethoden

mysqladmin

MySQL-Leistungsindikatoren, die mit dem erweiterten Statusbefehl mysqladmin ermittelt werden, sind standardmäßig auf kumulative Werte eingestellt. Wenn Sie den aktuellen Status wissen möchten, müssen Sie die Differenz berechnen; mit dem Parameter --relative(-r) können Sie die Differenz jedes Indikators sehen, und mit dem Parameter --sleep(-i), Sie können die Aktualisierungsfrequenz festlegen.

Detaillierte Erläuterung der MySQL-Leistungsindikatoren und Berechnungsmethoden

Detaillierte Erläuterung der MySQL-Leistungsindikatoren und Berechnungsmethoden

Globalen Status anzeigen

Kann verschiedene Statuswerte des laufenden MySQL-Servers auflisten, kumulativer Wert.

Detaillierte Erläuterung der MySQL-Leistungsindikatoren und Berechnungsmethoden

Mysqladmin-Befehl „Extended-Status“ und „Globalen Status anzeigen“ erhalten viele Indikatorelemente. Konzentrieren Sie sich bei praktischen Anwendungen auf die folgenden Leistungsindikatoren:

1. tps/qps

tps: Transaktionen pro Sekunde, Anzahl der Transaktionen pro Sekunde;

qps: Abfragen pro Sekunde;

Es gibt normalerweise zwei Möglichkeiten, tps/qps zu berechnen:

Methode 1: Berechnen Sie tps basierend auf com_commit und com_rollback und berechnen Sie qps basierend auf Fragen.

TPS = Com_commit/s + Com_rollback/s

Unter ihnen

Com_commit /s= mysqladmin erweiterter Status --relative --sleep=1|grep -w Com_commit

Com_rollback/s = mysqladmin erweiterter Status --relative --sleep=1|grep -w Com_rollback

QPS bezieht sich auf die Gesamtmenge der von MySQL Server pro Sekunde ausgeführten Abfragen, die ungefähr durch die Änderung des Statuswerts „Fragen“ (Anzahl der Kundenanfragen) pro Sekunde dargestellt wird. Es gibt also:

QPS = mysqladmin Extended-Status --relative --sleep=1|grep -w Fragen

Mit der oben genannten Methode können Sie auch die Anzahl der MySQL-Auswahlen, -Einfügungen, -Updates, -Löschungen pro Sekunde usw. ermitteln, z. B.:

Com_select/s = mysqladmin Extended-Status --relative --sleep=1|grep -w Com_select

Com_select/s: Durchschnittliche Anzahl der Ausführungen von Select-Anweisungen pro Sekunde

Com_insert/s: durchschnittliche Anzahl der Ausführungen von Insert-Anweisungen pro Sekunde

Com_update/s: Durchschnittliche Anzahl der Ausführungen von Update-Anweisungen pro Sekunde

Com_delete/s: durchschnittliche Anzahl der Ausführungen von Löschanweisungen pro Sekunde

Methode 2: Berechnen Sie TPS und QPS basierend auf com_%

tps= Com_insert/s + Com_update/s + Com_delete/s

qps=Com_select/s + Com_insert/s + Com_update/s + Com_delete/s

2. Thread-Status threads_running: Die Anzahl der derzeit aktiven Threads

threads_connected: Die Anzahl der aktuell verbundenen Threads

3. Verkehrsstatus Bytes_received/s: Durchschnittliche Anzahl der von allen Clients pro Sekunde empfangenen Bytes, Einheit KB

Bytes_sent/s: Durchschnittliche Anzahl der pro Sekunde an alle Clients gesendeten Bytes, Einheit KB

4. Anzahl der Lese- und Schreibvorgänge in der Innodb-Datei innodb_data_reads: Die durchschnittliche Häufigkeit, mit der innodb pro Sekunde aus der Datei liest

innodb_data_writes: Die durchschnittliche Häufigkeit, mit der innodb pro Sekunde aus der Datei schreibt

innodb_data_fsyncs: Die durchschnittliche Anzahl der von innodb pro Sekunde ausgeführten fsync()-Vorgänge

5. innodb Lese- und Schreibband

innodb_data_read: Die durchschnittliche Datenmenge, die von innodb pro Sekunde gelesen wird, in KB

innodb_data_geschrieben: Die durchschnittliche Datenmenge, die von innodb pro Sekunde geschrieben wird, in KB

6. Status des Innodb-Pufferpools

innodb_buffer_pool_reads: Durchschnittliche Anzahl der Seiten, die pro Sekunde von der physischen Festplatte gelesen werden

innodb_buffer_pool_read_requests: Durchschnittliche Anzahl von Lesevorgängen aus dem innodb-Pufferpool pro Sekunde (Anzahl logischer Leseanforderungen)

innodb_buffer_pool_write_requests: Durchschnittliche Anzahl der Schreibvorgänge in den Innodb-Pufferpool pro Sekunde

innodb_buffer_pool_pages_dirty: durchschnittliche Anzahl schmutziger Seiten im Innodb-Cache-Pool pro Sekunde

innodb_buffer_pool_pages_flushed: Die durchschnittliche Anzahl der Flush-Seitenanforderungen im Innodb-Cache-Pool pro Sekunde

Trefferquote des Innodb-Pufferpools lesen
innodb_buffer_read_hit_ratio = ( 1 - Innodb_buffer_pool_reads/Innodb_buffer_pool_read_requests) * 100

Nutzung des Innodb-Pufferpools

Innodb_buffer_usage = ( 1 - Innodb_buffer_pool_pages_free / Innodb_buffer_pool_pages_total) * 100

7. innodb log

innodb_os_log_fsyncs: Durchschnittliche Anzahl von fsync()-Schreibvorgängen in die Protokolldatei pro Sekunde

innodb_os_log_scribed: Durchschnittliche Anzahl der Bytes, die pro Sekunde in die Protokolldatei geschrieben werden

innodb_log_writes: Durchschnittliche Anzahl physischer Schreibvorgänge in die Protokolldatei pro Sekunde

innodb_log_write_requests: durchschnittliche Anzahl von Log-Schreibanfragen pro Sekunde

8. Innodb-Linie

innodb_rows_deleted: Die durchschnittliche Anzahl der pro Sekunde aus der Innodb-Tabelle gelöschten Zeilen

innodb_rows_inserted: Die durchschnittliche Anzahl der pro Sekunde aus der Innodb-Tabelle eingefügten Zeilen

innodb_rows_read: Die durchschnittliche Anzahl der Zeilen, die pro Sekunde aus der Innodb-Tabelle gelesen werden

innodb_rows_updated: Die durchschnittliche Anzahl der pro Sekunde aus der Innodb-Tabelle aktualisierten Zeilen

innodb_row_lock_waits: Die Häufigkeit, mit der eine Zeile auf die Sperrung warten muss

innodb_row_lock_time: Gesamtzeit, die für die Zeilensperrung aufgewendet wurde, in Millisekunden

innodb_row_lock_time_avg: durchschnittliche Zeilensperrzeit, in Millisekunden

9. MyISAM Lese- und Schreibzeiten

key_read_requests: MyISAMs durchschnittliche Anzahl von Lesevorgängen aus dem Pufferpool pro Sekunde

Key_write_requests: Die durchschnittliche Anzahl von MyISAM-Schreibvorgängen aus dem Pufferpool pro Sekunde

key_reads: Die durchschnittliche Häufigkeit, mit der MyISAM pro Sekunde von der Festplatte liest

key_writes: Die durchschnittliche Häufigkeit, mit der MyISAM pro Sekunde von der Festplatte schreibt

10. MyISAM-Pufferpool

MyISAM durchschnittliche Schlüsselpufferauslastung pro Sekunde

Key_usage_ratio =Key_blocks_used/(Key_blocks_used+Key_blocks_unused)*100

MyISAM durchschnittliche Schlüsselpuffer-Lesetrefferrate pro Sekunde

Key_read_hit_ratio=(1-Key_reads/Key_read_requests)*100

MyISAM durchschnittliche Schlüsselpuffer-Schreibtrefferrate pro Sekunde

Key_write_hit_ratio =(1-Key_writes/Key_write_requests)*100

11. Temporärer Tisch

Created_tmp_disk_tables: Die Anzahl der temporären Tabellen, die automatisch auf der Festplatte erstellt werden, wenn der Server eine Anweisung ausführt

Created_tmp_tables: Die Anzahl der temporären Tabellen im Speicher, die automatisch erstellt werden, wenn der Server eine Anweisung ausführt

Das Verhältnis von Created_tmp_disk_tables/Created_tmp_tables sollte 10 % am besten nicht überschreiten. Wenn der Wert von Created_tmp_tables relativ groß ist, kann es sein, dass zu viele Sortiersätze vorhanden sind oder die Verbindungssätze nicht ausreichend optimiert sind

12. Andere

slow_queries: Die Anzahl der Abfragen, deren Ausführungszeit long_query_time Sekunden überschreitet (wichtig)

sort_rows: Anzahl der sortierten Zeilen

open_files: Anzahl der geöffneten Dateien

open_tables: Anzahl der aktuell offenen Tische

select_scan: Anzahl der Joins für einen vollständigen Scan der ersten Tabelle

Darüber hinaus gibt es einige Leistungsindikatoren, die nicht direkt über den erweiterten Status von mysqladmin abgerufen werden können oder den globalen Status anzeigen, aber sehr wichtig sind.

13. Reaktionszeit: Reaktionszeit

Percona stellt das Tool tcprstat zur Messung der Antwortzeit zur Verfügung. Diese Funktion ist standardmäßig deaktiviert. Sie können diese Funktion aktivieren, indem Sie den Parameter query_response_time_stats=1 setzen.

Es gibt zwei Möglichkeiten, die Reaktionszeit zu überprüfen:

(1) Antwortzeitstatistiken mit dem Befehl SHOW QUERY_RESPONSE_TIME anzeigen;

(2) Durchsuchen Sie die Tabelle QUERY_RESPONSE_TIME in INFORMATION_SCHEMA.

http://www.orczhou.com/index.php/2011/09/thanks-percona-response-time-distribution/comment-page-1/ (Referenzartikel)

14. Slave-Verzögerung: Slave-Verzögerung
Sie können den Befehl show Slave StatusG auf dem Slave-Knoten ausführen. Der Wert des Elements Seconds_Behind_Master ist die aktuelle Verzögerung des Slaves in Sekunden.

Detaillierte Erläuterung der MySQL-Leistungsindikatoren und Berechnungsmethoden

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der MySQL-Leistungsindikatoren und Berechnungsmethoden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:linuxprobe.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen