Der erste Artikel unserer angekündigten Performance-Serie widmet sich dem Thema Hardware. Meistens ist zum Zeitpunkt der “auftretenden Langsamkeit” die Hardwareschlacht schon längst geschlagen und der Server eingebaut, jedoch gibt es auch nachträglich gute Potentiale den Zugriff durch Auf- und Umrüstung zu beschleunigen.
Priorität 1 hat bei den meisten Systemen unangefochten das Thema Hauptspeicher. Die Aufrüstung ist aus Kostensicht meist überschaubar und bringt bei korrekter Verwendung des zusätzlichen Speichers, in der Regel das beste Optimierungsergebnis. Stichwort an dieser Stelle ist der Query Cache, der ausgelieferte Ergebnismengen speichert und somit einen erneutem Aufruf aus dem Speicher bedienen kann und damit den Zugriff auf das langsame Plattensubsystem verhindert.
Trotz eines gut angepassten Hauptspeichers lässt sich das Lesen und vor allem das Schreiben auf Platte natürlich nicht gänzlich eliminieren. Da Platten-IO noch immer physikalische Arbeit ist, gilt noch immer die Faustregel: mehr Spindeln -> bessere Performance. Wer die Möglichkeit hat, auf ein RAID 0 (aus Sicherheitsgründen meist 10) zuzugreifen, dem sei dies empfohlen. Ansonsten ist vor allem wichtig, dass sich nicht ewig viele System auf dem selben Plattentopf tümmeln, da MySQL seine IO Ressourcen ungern mit anderen Anwendungen teilt und den Benutzer dann mit mieser Abfrageperformance straft.
Neben einer halbwegs schnellen CPU, ist vor allem die Verwendung eines 64-Bit-Systems ein absolutes muss um den eingebauten Hauptspeicher auch ausnützen zu können. Andernfalls bleibt alles über 4 GB ungenutzt rumliegen.
Unser nächste Teil widmet sich dem Thema Storage Engines.

0 Responses to “MySQL Performance Serie - Teil 1: Hardware, Speicher & Festplatten”