Zusammenfassung der Leistungsoptimierung der MySQL INNODB-Engine

1.Gleichzeitig:Wie viele Verbindungen haben die Daten bisher?,Wird ausgeführt, nachdem Sie sich bei MySQL angemeldet haben

globalen Status wie "max_used_connections" anzeigen;

Variablen wie "max_connections" anzeigen;

allgemein,Treffen Sie die folgenden Beziehungen:

max_used_connections / max_connections * 100% <= 85%

2.Innodb_buffer_pool:Es spielt eine entscheidende Rolle für die MySQL-Leistung der Innodb-Engine。

Weil Innodb Daten und Indizes zwischenspeichert,Die offizielle Empfehlung lautet, es auf zu setzen 70-80% Verfügbare Erinnerung。

Wenn es nicht viel zu tun gibt,Und wird nicht explodieren,Innodb_buffer_pool_size muss nicht zu groß eingestellt werden。

3.innodb_log_file_size:Die Eingabeaufforderung für die Konfigurationsdatei ist auf 25% von innodb_buffer_pool_size festgelegt

Dies ist in Situationen mit hoher Schreiblast wichtig。Je größer der Wert, desto höher die Leistung,Kann aber die Erholungszeit verlängern。

4.innodb_flush_logs_at_trx_commit:

Der Standardwert ist 1,Dies bedeutet, dass jede Aktualisierungstransaktion festgeschrieben wird(Oder Anweisungen außerhalb jeder Transaktion)Wird auf die Festplatte gespült,

Dies ist sehr ressourcenintensiv。Wenn eingestellt auf 2 ,Das heißt, leeren Sie zuerst das Protokoll in den Betriebssystem-Cache,Dann wird das Protokoll

Jede Sekunde auf die Festplatte spülen,Daher gehen die Kosten für 1-2 Updates pro Sekunde normalerweise nicht verloren。

5.innodb_log_buffer_size:Dieser Wert bezieht sich auf eine hohe Parallelität,Wenn der Protokollcache innerhalb von 1 Sekunde voll ist

Dieser Wert,Sofort aus dem Speicher auf die Festplatte ib_logfilex leeren。Dieser Wert wird im Allgemeinen auf 8 MB eingestellt,gemäß

Die tatsächliche Situation wird entsprechend behandelt。

6.Temporäre Tische: 执行 Zeigen Sie den globalen Status wie "created_tmp%" an.; Wird auftauchen

 

Erstellen Sie jedes Mal eine temporäre Tabelle,Created_tmp_tables erhöhen sich,Wenn eine temporäre Tabelle auf der Festplatte erstellt werden soll,

Created_tmp_disk_tables wurde ebenfalls erhöht,Created_tmp_files repräsentiert die temporären Dateien, die vom MySQL-Dienst erstellt wurden

Anzahl der Dateien:当 Created_tmp_disk_tables / Created_tmp_tables * 100% <= 25%

Zeit,Erklären Sie, dass der Gesundheitszustand kann。Wenn mehr als 25%,说明 tmp_table_size 和 max_heap_table_size

Der Wert ist kleiner,muss hinzufügen,Erhöhen Sie sie auf einen bestimmten Wert,Zum Beispiel sind alle auf 256 MB eingestellt (tatsächlich ist es bereits sehr groß).,

如果 Created_tmp_disk_tables / Created_tmp_tables * 100% Der Wert von kann nicht fallen,

Möglicherweise liegt ein Problem mit der SQL-Anweisung vor,Erzwungene Verwendung der temporären Festplattentabelle。Durch Ausführen

Variablen anzeigen, in denen Variablenname in (‘Tmp_table_size’, ‘Max_heap_table_size’);

Kann die Größe von tmp_table_size und max_heap_table_size kennen。

7.offener Tisch:执行 Zeigen Sie den globalen Status wie "open% tables%" an.; Anzeige wie folgt:

 

Open_tables repräsentiert die Anzahl der geöffneten Tabellen,Opened_tables gibt die Anzahl der geöffneten Tabellen an,Wenn die Anzahl der Opened_tables zu groß ist,

Der Wert von table_cache in der Konfiguration ist möglicherweise zu klein。Mach es größer,Wie 512.

Durch Ausführen von show global status wie "open% tables%";和 Variablen wie 'table_cache anzeigen;

Suchen Sie Open_tables ,Opened_tables ,table_cache(5.1.3Danach heißt dieser Wert table_open_cache)Wert von,

Sie erfüllen die folgende Beziehung。

open_tables / open_tables * 100% >= 85%

open_tables / table_cache(5.1.3Danach heißt dieser Wert table_open_cache) * 100% <= 95%

8.Prozessnutzung: 执行 Zeigen Sie den globalen Status wie "Thread%" an.;erscheinen

threads_created gibt die Anzahl der erstellten Threads an,Wenn Sie feststellen, dass der Wert für Threads_created zu groß ist,

Zeigt an, dass der MySQL-Server Threads erstellt und Threads zerstört hat,Dies ist ressourcenintensiver,Kann entsprechend erhöht werden

Thread_cache_size-Wert in der Konfigurationsdatei(im Falle[mysqld]Es gibt kein solches Element unter dem Feld,Bitte fügen Sie es selbst hinzu)。

Erhöhen Sie beispielsweise je nach Situation auf 16, 32 oder 64。Durch Ausführen von Showvariablen wie "thread_cache_size";

Kann den Wert von thread_cache_size bestimmen, der in der aktuellen Konfigurationsdatei festgelegt ist。使用 Threads_created / Connections

Berechnen Sie die Cache-Trefferquote.

 

 

Hinterlasse eine Antwort