Performance-Tuning in PostgreSQL – Teil 1
PostgreSQL gilt seit Jahren als das fortschrittlichste Open-Source-Datenbankmanagementsystem und ist millionenfach im Einsatz. Ein Thema, das PostgreSQL-Administratoren unter anderem beschäftigt, ist Performance-Tuning – also die Frage, wie Anfragen und SQL-Befehle schneller gemacht werden können. Dieser Frage und anderen widmen sich auch die Autoren Peter Eisentraut und Bernd Hemle in ihrem Buch „PostgreSQL-Administration„. Wie man Enpässe oder Flaschenhälse, die die Ausführung eines SQL-Befehls verlangsamen, richtig erkennt und optimiert, erfahren Sie im ersten Teil des Buchauszugs. Heute geht es um CPU, RAM und Festplattendurchsatz. Im zweiten Teil wird es dann um Festplattenlatenz, Festplattenrotation und Netzwerkverbindungen gehen. CPU PostgreSQL startet pro Datenbankverbindung einen Prozess, und moderne Betriebssysteme verteilen diese Prozesse dann auf mehrere CPU-Kerne, falls vorhanden. Generell kann aber somit ein SQL-Befehl nur auf maximal einem CPU-Kern laufen. Sehr rechenintensive SQL-Befehle können einen CPU-Kern schon eine Weile auslasten. Das kann man dann einfach mit Betriebssystemwerkzeugen wie ps oder top beobachten. In der Praxis ist die CPU aber im Gegensatz zu den anderen aufgeführten Kandidaten eher selten das Problem. Wenn doch, dann bleibt einem in der Regel nichts anderes …