Niblett, David A wrote:
Wow, then I'm completely lost looking at your numbers.
I set my shmall and shmmax to 805306368, so that the DB (which
is the only thing using memory on the box) could have 800M of
shared RAM. Am I crazy here?
PostgreSQL uses it's shared buffers for some internal operations, but it
really relies on the OS to do most of data file caching, I think the
usual recomendation for shared_buffers settings is more on the order of
10% of RAM or so. If you set them too high, it can cause performance
problems of it's own (this problem is greatly reduced in 8.1 but still).
My max_fsm_pages is 200000 and relations are 10000. I'm
guessing that the more fsm_pages, the less you have to run
VACUUM FULL. Do you think it might be better to lower the
shared_buffers, and increase the max_fsm_pages?
Yes I think both of those are good todo, however increasing FSM size is
only relevant if the free space isn't all fitting in the map already.
I do know about some of the really time intensive queries, and
I wish I had the time to go through and optimize them. I'll
look at my logs and see if I'm getting hit with that problem.
I like to turn on log_min_duration_statement in postgresql so that it
shows me all the queries that are taking a long time. This really help
hone in quickly on the problem queries.
Matt