Performance-Tuning in PostgreSQL – Teil 2
Vor kurzem haben wir uns bereits mit Performance-Tuning in PostgreSQL beschäftigt. Dabei haben wir im ersten Teil des Buchauszugs aus “PostgreSQL-Administration“ von Peter Eisentraut und Bernd Helmle drei Enpässe oder Flaschenhälse vorgestellt, die die Ausführung eines SQL-Befehls verlangsamen können. Im zweiten und letzten Teil stellen wir heute drei weitere Engpässe vor, die Sie zur Beschleunigung und Optimierung eines SQL-Befehls kennen sollten: nämlich Festplattenlatenz, Festplattenrotation und Netzwerkverbindungen. Festplattenlatenz Die Latenz eines Festplattensystems beschreibt, wie lange es dauert, bis eine bestimmte Information darauf gelesen werden kann, vor allem bedingt durch die nötigen mechanischen Bewegungen. Das fällt insbesondere bei Indexzugriffen ins Gewicht, da dort die Informationen naturgemäß nicht sequenziell, sondern verteilt vorliegen. Genau analysieren kann man diese Effekte als Anwender so gut wie nie. Man wird jedoch bemerken, dass bei wahlfreien Zugriffen wie einer Indexsuche der mit iostat oder ähnlichen Programmen beobachtete Festplattendurchsatz bei sehr niedrigen Werten wie 4 MByte/s sein Maximum zu erreichen scheint. Vermieden werden können Latenzeffekte am besten, indem man ausreichend RAM für die Indexe als Cache zur Verfügung stellt. Dadurch fallen die mit der …