POSTGRESQL: max_fsm_pages / max_fsm_relations
Wer sich immer schon mal gefragt hat, was er bei den beiden Parametern max_fsm_pages und max_fsm_relations in der postgresql.conf eigentlich einstellen soll, der sollte einfach mal Folgendes machen: psql mit der entsprechenden Datenbank starten und dann
db=# VACUUM ANALYZE VERBOSE;
...
INFO: free space map contains 14679 pages in 999 relations
DETAIL: A total of 27808 page slots are in use (including overhead).
27808 page slots are required to track all free space.
Current limits are: 40000 page slots, 2000 relations, using 362 KB.
Da kommt dann jede Menge Ausgabe, aber wichtig sind die letzten vier Zeilen. Ich habe z.B. bei dieser Datenbank
max_fsm_pages = 40000
max_fsm_relations = 2000
in der postgresql.conf eingestellt. Das sieht man auch bei der Ausgabe in der letzten Zeile bei den Current limits. Der Analyze zeigt an, das die Free Space Map momentan 14679 Pages und 999 Relations beansprucht. Das paßt also locker in die angegebenen Parameter (40000 > 14679 und 2000 > 999). Wenn die Werte zu klein sind, kann Postgres die freien Speicherblöcke nicht mehr in Hauptspeicher verwalten, was die Sache natürlich erheblich verlangsamt. Man sollte das also des Öfteren kontrollieren.
Posted at 08:00nachm. Feb. 23, 2006 by cetixx in Tipps | Kommentare [0]