Heim  >  Artikel  >  Datenbank  >  MYSQL-Lernzusammenfassung (6): my.cnf-Parameterkonfiguration und -optimierung entsprechend dem Status

MYSQL-Lernzusammenfassung (6): my.cnf-Parameterkonfiguration und -optimierung entsprechend dem Status

黄舟
黄舟Original
2016-12-23 17:14:201677Durchsuche

#Nur der [mysqld]-Teil wird hier erwähnt
Datadir = /data/mysql //mysql-Datenverzeichnis
Skip-Locking //Reduzieren Sie die Fehlerwahrscheinlichkeit
Key_buffer = 384M //Indexpuffer Größe, ich werde später im Detail erklären, wie man sie festlegt
Max_allowed_packet = 1M //Der maximale Wert einer Nachrichtenübertragung bei der Netzwerkübertragung
Table_cache = 512 //Tabellenpuffergröße
Sort_buffer_size = 2M //Wann Die Abfragesortierung und die Puffergröße werden später ausführlich besprochen
Read_buffer_size=2M//Die Puffergröße, die von Abfragevorgängen verwendet werden kann
Read_rnd_buffer_size = 8M //Die Speichergröße, die von zufälligen Abfragevorgängen verwendet werden kann
Myisam_sort_buffer_size=64M //MyISAM-Tabellenpufferung erforderlich für Neuordnung bei Änderungen
Thread_cache_size = 8M //Legen Sie die maximale Anzahl von Verbindungsthreads fest, die im Tread-Cache-Pool zwischengespeichert werden können, mit einem Wert von 64 oder höher für Speicher 4G oder mehr
Query_cache_size = 32M //Abfragepufferbereichsgröße
Thread_concurrency = 8 //Auf die Anzahl der logischen Server*2 eingestellt
Thread_stack = 256K //Die Stapelgröße jedes Threads in MYSQL. Der Standardwert ist groß genug, wenn ERROR:1436 Thread-Stack-Überlauf auftritt. Dieser Wert kann erhöht werden.
Skip-name-resolve //Es ist am besten, ihn hinzuzufügen, um die DNS-Auflösung des verbundenen Computers zu entfernen Das Auftreten von ERROR:2013 wird dadurch verursacht
Log-bin=mysql-bin //Öffne das Binärprotokoll
Log-slow-queries = /usr/local/mysql/var/slowquery.log //Öffne das Langsames Abfrageprotokoll, um festzustellen, bei welchen Abfragen eine Zeitüberschreitung aufgetreten ist und welche Abfragen keinen Index haben. Die standardmäßige langsame Abfragezeit beträgt 5 Sekunden und Abfragen, die länger als 5 Sekunden dauern, werden aufgezeichnet. Sie können set long_query_time = 2 verwenden, um die langsame Abfragezeit festzulegen, und Sie können auch mysqldumpslow verwenden, um das langsame Abfrageprotokoll zu analysieren. Um beispielsweise die 20 am häufigsten aufgerufenen Anweisungen zu analysieren, verwenden Sie mysqldumpslow –s c –t 20 /usr/local/mysql /var /slowquery.log


# Ändern Sie den Wert jedes Parameters, indem Sie den MYSQL-Status überprüfen


#Um den MYSQL-Status zu überprüfen, verwenden Sie im Allgemeinen hauptsächlich den Befehl show Überprüfen Sie den Systemstatus und die Variablen. Parameterwert
Zum Beispiel: Überprüfen Sie, wie viele langsame Abfrageprotokolle im aktuellen System vorhanden sind.
Zeigen Sie den globalen Status wie „%slow%“ an. // Sie können die Anzahl langsamer Abfragen ermitteln. slow_queries
Überprüfen Sie die aktuellen Einstellungen für langsame Abfragen
Variablen wie „%slow%“ anzeigen; //Sie können slow_launch_time erhalten
#Wert von max_connections festlegen und anzeigen
Variablen wie „max_connections“ anzeigen;
Globalen Status wie „max_used_connections“ anzeigen;
Wenn max_used_connections nahe am max_connections-Wert liegt, müssen Sie den max_connections-Wert erhöhen. Setze max_connections = 256 (Ungültig nach Neustart, am besten in my.cnf schreiben)


#Setze den Wert von key_buffer_size
Zeige globalen Status wie „key_read%“ //Ansicht Die Verwendung von key_buffer_size Situation

Berechnungsformel: Key_reads/ Key_read_requests < 0,1 % ist am besten, aber wenn Key_reads/ Key_read_requests <


#Prozessnutzung anzeigen
Globalen Status wie „Thread%“ anzeigen;

Wenn Threads_created zu groß ist, bedeutet dies, dass der MYSQL-Server Threads erstellt hat und dies auch der Fall ist Der Wert von thread_cache_size kann zu diesem Zeitpunkt angepasst werden.


#Query-Cache-Einstellungen (qurey_cache_size) anzeigen
Globalen Status wie „qcache%“ anzeigen;

Variablen wie „query_cache%“ anzeigen //Query_cache-Konfiguration anzeigen

Hier gibt es drei Indikatoren für die Abfrage:
Abfrage-Cache-Fragmentierungsrate = Qcache_free_blocks/Qcache_total_blocks Wenn sie 20 % überschreitet, können Sie den Cache mit dem Flush-Abfrage-Cache defragmentieren.
Query-Cache-Auslastung = (query_cache_size-Qcache_free_memory)/query_cache_size Wenn sie unter 25 % liegt, bedeutet dies, dass die Einstellung für query_cache_size zu groß ist. Wenn es über 80 % liegt und Qcache_lowmem_prunes > 50, bedeutet dies, dass query_cache_size etwas klein ist.
Abfrage-Cache-Trefferrate = (Qcache_hits-Qcache_inserts)/Qcache_hits, dies dient nur als Referenz. Wenn es zu klein ist, bedeutet dies, dass häufig gelesen und geschrieben wird und Fragmente vorhanden sind.


#Anzahl der geöffneten Dateien anzeigen
Globalen Status wie „open_files“ anzeigen;

Variablen wie „open_files_limit“ anzeigen;

Im Allgemeinen offene Dateien Anzahl/Begrenzung der Anzahl geöffneter Dateien sollte


Zusammenfassend sollten wir normalerweise auf die folgenden Parameter achten:
                                                                                                        
max_connections = 256 // Je nach tatsächlichem Status anpassen
Thread_cache_size = 64M //Wenn der Speicher größer als 4G ist, konfigurieren Sie 64 oder mehr
Query_cache_size = 64M
Tmp_table_size = 256M //Maximaler Wert der temporären Speichertabelle
Table_cache = 614 //Der Zugriff auf den von der Tabelle zugewiesenen Speicher kann die E/A reduzieren
Skip-name-resolve //Hinzugefügt, um Zugriffszeitüberschreitungen und andere Probleme zu vermeiden

Das Obige ist die MYSQL-Lernzusammenfassung (6): my.cnf-Parameterkonfiguration und -optimierung entsprechend dem Status. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn