MySQL Performance Tuning
Ein interessantes Themen der Webserver Performance Optimierung dürfte wohl das Tuning des MySQL Servers sein.
Man findet ja unzählige Anleitungen und Beschreibungen wie man den MySQL Server richtig einstellt und einen Performanceverbesserung erzielt.
Ich möchte hier einen kleinen Überblick über die Schrauben geben an den man drehen sollte.
max_connections
Wieviele Connections sind generell erlaubt
table_cache
Der Table-Cache reserviert Speicher für die häufiger gebrauchten Tabellen.
query_cache_size
In dem Speicherbereich werden die SQL-Statements mit einer Ergebnissliste gespeichert um bei einem neuen Zugriff die Daten sofort parat zu haben. Bei Updates/Inserts/Deletes wird der gespeicherte Query gelöscht.
key_buffer_size
Der Speicher, der für die referenziellen Keys reserviert wird. Dieser Wert gilt pro Connection.
sort_buffer_size
Der Speicher, der für die Sortierung reserviert wird. Dieser Wert gilt pro Connection.
read_buffer_size
Der Speicher, der für das Lesen von Festplatte reserviert wird. Dieser Wert gilt pro Connection.
Optimierungshilfen und Analyse
Es gibt inzwischen sinnvolle Tools.
Zunächst sollte das Packages installiert werden:
# aptitude install mysqltuner
Danach wird der MySQL-Tuner gestartet, wobei eventuell MySQL Login Daten eingegeben werden müssen.
# mysqltuner
Mehr Informationen über das Skript selbst finden Ihr hier: http://mysqltuner.com/