Donnerstag Feb. 23, 2006

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.

Kommentare:

Senden Sie einen Kommentar:
  • HTML Syntax: Ausgeschaltet