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.