Hi
We are migrating our Postgres 7.3.4 application to postgres 8.1.5 and also
moving it to a server with a much larger hardware configuration as well. The
server will have the following specification.
- 4 physical CPUs (hyperthreaded to 8)
- 32 GB RAM
- x86_64 architecture
- RedHat AS 4
- postgres 8.1.5
Ive been taking a look at the various postgres tuning parameters, and have come
up with the following settings.
shared_buffers - 50,000 - From what Id read, increasing this number higher
than this wont have any advantages ?
effective_cache_size = 524288 - My logic was I thought Id give the DB 16GB of
the 32, and based this number on 25% of that number, sound okay?
work_mem - 32768 - I only have up to 30 connections in parallel, and more
likely less than ½ that number. My sql is relatively simple, so figured even
if there was 5 sorts per query and 30 queries in parallel, 32768 would use up
4GB of memory.. Does this number sound too high?
Maintenance_work_mem = 1048576 - Figured Id allocate 1GB for this.
fsm_relations = 2000 - I have about 200 tables plus maybe 4 or 5 indexes on
each, and didn't want to have to worry about this number in future so doubled
it.
fsm_pages = 200,000 - Based this on some statistics about the number of pages
freed from a vacuum on older server. Not sure if its fair to calculate this
based on vacuum stats of 7.3.4 server?
Do these numbers look reasonable given the machine above? Any other settings
that I should be paying particular consideration too?
Thanks
Mark