Heim Betrieb und Instandhaltung Betrieb und Wartung von Linux Eine ausführliche Einführung zur Optimierung von MySQL unter Linux

Eine ausführliche Einführung zur Optimierung von MySQL unter Linux

Jun 04, 2017 am 11:26 AM

In diesem Artikel werden hauptsächlich relevante Informationen zu MySQL-Optimierungsbeispielen in Linux vorgestellt. Freunde in Not können sich auf

Linux-Paar beziehen. Detaillierte Erklärung von MySQL Optimierungsbeispiele

vim /etc/my.cnf Im Folgenden wird nur der Inhalt des Absatzes [mysqld] in der Datei my.cnf aufgeführt. Der Inhalt anderer Absätze hat kaum Auswirkungen auf die Laufleistung von MySQL, also vorerst vernachlässigen.

[mysqld]
port = 3306
serverid = 1
socket = /tmp/mysql.sock
skip-locking
Nach dem Login kopieren

Vermeiden Sie die externe Sperrung von MySQL, reduzieren Sie das Fehlerrisiko und verbessern Sie die Stabilität.

skip-name-resolve
Nach dem Login kopieren

Verbieten Sie MySQL die DNS-Auflösung für externe Verbindungen. Durch die Verwendung dieser Option kann MySQL Zeit für die DNS-Auflösung sparen. Es ist jedoch zu beachten, dass bei aktivierter Option alle Remote-Host-Verbindungsberechtigungen IP-Adressen verwenden müssen, da MySQL sonst Verbindungsanfragen nicht normal verarbeiten kann!

back_log = 384
Nach dem Login kopieren

Der Wert des back_log-Parameters gibt an, wie viele Anfragen in kurzer Zeit im Stack gespeichert werden können, bevor MySQL vorübergehend nicht mehr auf neue Anfragen reagiert. Wenn das System in kurzer Zeit viele Verbindungen hat, müssen Sie den Wert dieses Parameters erhöhen, der die Größe der Überwachungs-Warteschlange für eingehende TCP/IP-Verbindungen angibt. Verschiedene Betriebssysteme haben ihre eigenen Grenzen für diese Warteschlangengröße. Der Versuch, back_log auf einen höheren Wert als den Grenzwert Ihres Betriebssystems festzulegen, hat keine Auswirkung. Der Standardwert ist 50. Für Linux-Systeme wird empfohlen, den Wert auf eine Ganzzahl kleiner als 512 festzulegen.

key_buffer_size = 256M
Nach dem Login kopieren

key_buffer_size gibt die Puffergröße an, die für index verwendet wird. Erhöhen Sie sie für eine bessere Indexverarbeitungsleistung. Für Server mit einem Arbeitsspeicher von etwa 4 GB kann dieser Parameter auf 256 MB oder 384 MB eingestellt werden. Hinweis: Wenn Sie diesen Parameterwert zu groß einstellen, verringert sich die Gesamteffizienz des Servers!

max_allowed_packet = 4M
thread_stack = 256K
table_cache = 128K
sort_buffer_size = 6M
Nach dem Login kopieren

Fragen Sie die Puffergröße ab, die beim Sortieren verwendet werden kann. Hinweis: Der diesem Parameter zugeordnete Speicher gilt exklusiv für jede Verbindung. Bei 100 Verbindungen beträgt die gesamte zugewiesene Sortierpuffergröße 100 × 6 = 600 MB. Daher wird empfohlen, ihn für einen Server mit einem Speicher von etwa 4 GB auf 6-8 MB einzustellen.

read_buffer_size = 4M
Nach dem Login kopieren

Die Puffergröße, die von Leseabfragevorgängen verwendet werden kann. Wie sort_buffer_size gilt auch der diesem Parameter zugeordnete Speicher exklusiv für jede Verbindung.

join_buffer_size = 8M
Nach dem Login kopieren

Die Puffergröße, die von der gemeinsamen Abfrage verwendet werden kann Wie bei sort_buffer_size gilt auch der diesem Parameter zugeordnete Speicher exklusiv für jede Verbindung.

myisam_sort_buffer_size = 64M
table_cache = 512
thread_cache_size = 64
query_cache_size = 64M
Nach dem Login kopieren

Gibt die Größe des MySQL-Abfragepuffers an. Dies kann in der MySQL-Konsole beobachtet werden. Wenn der Wert von Qcache_lowmem_prunes sehr groß ist, weist dies darauf hin, dass die Pufferung häufig nicht ausreicht Wenn der Wert klein ist, wirkt sich dies auf die Effizienz aus. Dann können Sie erwägen, den Cache nicht abzufragen. Wenn der Wert sehr groß ist, bedeutet dies, dass sich viele Fragmente im Puffer befinden.

tmp_table_size = 256M
max_connections = 768
Nach dem Login kopieren

Geben Sie die maximale Anzahl von Verbindungsvorgängen an, die MySQL zulässt. Wenn beim Zugriff auf das Forum häufig die Fehlermeldung „Too ManyConnections“ erscheint, müssen Sie den Wert dieses Parameters erhöhen.

max_connect_errors = 10000000
wait_timeout = 10
Nach dem Login kopieren

Geben Sie die maximale Verbindungszeit für eine Anfrage an. Für Server mit etwa 4 GB Speicher kann sie auf 5-10 eingestellt werden.

thread_concurrency = 8
Nach dem Login kopieren

Der Wert dieses Parameters ist die Anzahl der logischen Server-CPUs * 2. In diesem Beispiel verfügt der Server über 2 physische CPUs und jede physische CPU unterstützt H.T-Hyper-Threading. Der tatsächliche Wert lautet also 4 *2=8

skip-networking
Nach dem Login kopieren

Aktivieren Sie diese Option, um die TCP/IP-Verbindungsmethode von MySQL vollständig zu schließen. Wenn der WEB-Server über eine Remote-Verbindung auf den MySQL-Datenbank-Server zugreift, tun Sie dies Aktivieren Sie diese Option nicht! Andernfalls ist die normale Verbindung nicht möglich!

table_cache=1024
Nach dem Login kopieren

Je größer der physische Speicher, desto größer die Einstellung. Der Standardwert ist 2402, passen Sie ihn für eine optimale Einstellung auf 512-1024 an

innodb_additional_mem_pool_size=4M
Nach dem Login kopieren

Der Standardwert ist 2M

innodb_flush_log_at_trx_commit=1
Nach dem Login kopieren

Wenn Sie den Wert auf 0 setzen, müssen Sie warten, bis die innodb_log_buffer_size-Warteschlange voll ist, bevor Sie sie gleichmäßig speichern. Der Standardwert ist 1.

innodb_log_buffer_size=2M
Nach dem Login kopieren

Setzen Sie ihn auf Wie viele CPUs hat Ihr Server? Es wird empfohlen, den Standardwert 8 zu verwenden

innodb_thread_concurrency=8
Nach dem Login kopieren

Es ist erwähnenswert:
key_buffer_size=256M
#默认为218,调到128最佳
tmp_table_size=64M         
#默认为16M,调到64-256最挂
read_buffer_size=4M        
#默认为64K
read_rnd_buffer_size=16M    
#默认为256K
sort_buffer_size=32M       
#默认为256K
thread_cache_size=120     
#默认为60
query_cache_size=32M
Nach dem Login kopieren

Viele Situationen erfordern spezifische Angaben Analyse

1. Wenn Key_reads zu groß ist, sollten Sie die Key_buffer_size in my.cnf erhöhen und Key_reads/Key_read_requests auf mindestens 1/100 halten.

2. Wenn Qcache_lowmem_prunes sehr groß ist, erhöhen Sie den Wert von Query_cache_size.

Das obige ist der detaillierte Inhalt vonEine ausführliche Einführung zur Optimierung von MySQL unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Deepseek Web Version Eingang Deepseek Offizielle Website Eingang Deepseek Web Version Eingang Deepseek Offizielle Website Eingang Feb 19, 2025 pm 04:54 PM

Deepseek Web Version Eingang Deepseek Offizielle Website Eingang

Android TV Box erhält inoffizielles Ubuntu 24.04-Upgrade Android TV Box erhält inoffizielles Ubuntu 24.04-Upgrade Sep 05, 2024 am 06:33 AM

Android TV Box erhält inoffizielles Ubuntu 24.04-Upgrade

So installieren Sie Deepseek So installieren Sie Deepseek Feb 19, 2025 pm 05:48 PM

So installieren Sie Deepseek

So beheben Sie den Fehler „mysql_native_password nicht geladen' unter MySQL 8.4 So beheben Sie den Fehler „mysql_native_password nicht geladen' unter MySQL 8.4 Dec 09, 2024 am 11:42 AM

So beheben Sie den Fehler „mysql_native_password nicht geladen' unter MySQL 8.4

BitPie Bitpie-Wallet-App-Download-Adresse BitPie Bitpie-Wallet-App-Download-Adresse Sep 10, 2024 pm 12:10 PM

BitPie Bitpie-Wallet-App-Download-Adresse

Bitget Offizielle Website -Installation (2025 Anfängerhandbuch) Bitget Offizielle Website -Installation (2025 Anfängerhandbuch) Feb 21, 2025 pm 08:42 PM

Bitget Offizielle Website -Installation (2025 Anfängerhandbuch)

Installation der Quellcode-Kompilierung von Zabbix 3.4 Installation der Quellcode-Kompilierung von Zabbix 3.4 Sep 04, 2024 am 07:32 AM

Installation der Quellcode-Kompilierung von Zabbix 3.4

Ausführliche Erklärung: Parameterbefehl zur Beurteilung der Variablen des Shell-Skripts Ausführliche Erklärung: Parameterbefehl zur Beurteilung der Variablen des Shell-Skripts Sep 02, 2024 pm 03:25 PM

Ausführliche Erklärung: Parameterbefehl zur Beurteilung der Variablen des Shell-Skripts

See all articles