Sie sind auf Seite 1von 1

Magento Performance: Optimierung des MySQL Server

In diesem Beitrag zur "Magento Performance" liegt der Schwerpunkt auf dem Tuning von
MySQL-Server, um es optimal für Magento Website. MySQL ist der höchst potentielle
Bereich für die Optimierung. Die Optimierung der Konfiguration, kann zu guten
Leistungssteigerung führen.
Es gibt verschiedene Konfigurationen, die betrachtet werden sollten.

Arbeitsspeicher (Memory)
Magento nutzt als Speicher-Engine die InnoDB, welche Memory-Pools verwendet um
Tabellen-Daten zu zwischen zu speichern (Cache), Indizes um den Zugriff auf den
Festspeichern zu reduzieren. Weniger Festplatten zugriffe bedeutet einen schnelleren
Zugriff auf Daten, Indizes etc.
Der Schlüssel ist, um so viel Speicher wie möglich für In-Memory-Cache zuweisen.
Standardmäßig ist dieser Wert 8MB, was sehr klein ist. Dieser Wert kann durch Einstellung
der Variable innodb_buffer_pool_size in der my.cnf erhöht werden.
Auf gängigen Servern mit Web- und Datenbank-Server mit 1 GB Arbeitsspeicher (RAM)
sollte der Wert auf 256 MB oder gar 512 MB eingestellt werden. Wenn der Server allein als
Datenbank-Server verwendet wird, sollte der Wert nicht weniger als 512 MB betragen.

Multithreading
Die InnoDB kann mehrere Prozessorkerne verwenden, um gleichzeitige Verbindungen zu
eröffnen. Das ist der Schlüssel um diese Funktion zu nutzen, um gleichzeitige
Verbindungen zu steigern. Dies kann durch die Konfiguration der Variablen
innodb_thread_concurrency und thread_cache_size erreicht werden.
Magento empfiehlt eine Berechnung des Wertes innodb_thread_concurrency mit der Formel:
2 x [Anzahl der Kerne/Prozessoren] + 2
Also auf einem Server mit 4 Kernen sollte der Wert 10 sein. Das erlaubt es einen Client-
Thread zwischen zu speichern (Cache). So dass ein anderer Client den Cache nutzt, auch
wenn der erste Client schon getrennt ist. Dieser Wert kann ebenfalls konfiguriert werden,
doch sein Wert hängt von max_connections ab. Diese Einstellung ist so aufwändig, dass
Gutachten und Benchmarks erstellen müssen.

Einschalten des Abfragespeichers (Querry Cache)


MySQL kann Ergebnisse für Anfragen im Zwischenspeicher ablegen und senden diese
daraus, wenn identische Abfragen durchgeführt werden. Zum Beispiel sind die Abfragen
eine Homepage an zusehen nahezu identisch wie für einen anderen Betrachter der
Homepage. Aktivieren des Cache kann am Ende eine Menge Nacharbeit an MySQL sparen.
Der Cache kann durch Setzen query_cache_size Variable aktiviert werden. Zumindest sollte
dieser Wert äquivalent zu 32 MB auf 64 MB in Byte gesetzt sein. Das Festlegen dieses Werts
kann tückisch sein, wie bei allen verfügbaren Ressourcen einer Umgebung. Um sicher zu
gehen, führen Benchmark und Test zur endgültigen Fertigstellung.

Einschalten des Sortierpuffer (Sort Buffer)


Der Sortierpuffer wird verwendet um Abfragen zur Sortierung mit ORDER BY und GROUP
BY Klausel zu optimieren. Stellen Sie sicher, dass dieser Puffer aktiviert ist. Empfohlener
Wert ist 2MB zu 6MB. Das beschleunigt Abfragen welche die Sortierung einbezieht und
GROUP BY.

Tobias Sarner : Seite 1 von 1