Hi,
Gerd König a écrit :
we're quite new to Postgres and we're going to start using Postgres8.3
on Opensuse10.3 64 bit. We have a dedicated dbserver with 8GB RAM, and
now I'm not sure how to deal with the memory/buffer settings. The db
will be accessed heavily (~20 requests/sec.) with a read/write ration of
50:50, yes, a lot of write activity.
I thought of setting "shared_buffers" to 750000 (~6GB) but how depends
this on the kernel buffer setting in /etc/sysctl.conf (what is the
interaction between these two settings?).
I know the variable "shmmax" can be defined, but currently there's no
such entry.
shared_buffers should be set to 1/4 of your available RAM. It's a start
value, you can tweak it after that, but you would probably be better
advised to use 2GB to begin with.
The meaning of "work_mem" / "maintenance_work_mem" and "wal_buffers" is
also not clear. The maintenance_work_mem influences the size of the WAL
logs..?!?
work_mem is used for sort and group operations (for example, ORDER BY).
It's not part of the shared_buffers memory and it will be used by every
postgres process. So you better have small values, something between 1
MB and 64 MB.
maintenance_work_mem is used for maintenance operations (VACUUM, CREATE
INDEX and another one I don't remember now). You can use bigger values
because you won't have many operations of this kind that will happen at
the same time. Probably 256 MB would be a good start value.
What else are "top performance related" options for the usage scenario I
described earlier ?
Checkpoint and WAL settings are important ones. FSM size is another one.
Regards.
--
Guillaume.
http://www.postgresqlfr.org
http://dalibo.com
--
Sent via pgsql-admin mailing list (pgsql-admin@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin