Tuning for PostGreSQL Database

Christopher Weimann cweimann at k12hq.com
Fri Jul 25 09:26:07 PDT 2003


On Fri 07/25/2003-12:03:32AM -0700, Tom Samplonius wrote:
> 
>   Maybe you should continue to worry.  PostgreSQL isn't MySQL (or a
> typical server application).  It reads all database pages into its shared
> memory area.  It is wasteful for the DBMS and the OS to both cache this
> data.  You'll want the PostgreSQL shared memory size to be around 75% the
> size of RAM (on a dedicated DBMS server).  In fact, many commercial DBMS
> systems will use raw writes to bypass the OS cache!
> 

I was concerned about the disk cache because of this link 

http://www.varlena.com/varlena/GeneralBits/Tidbits/perf.html#shbuf

which says...

   PostgreSQL counts a lot on the OS to cache data files and
   hence does not bother with duplicating its file caching effort.
   The shared buffers parameter assumes that OS is going to cache
   a lot of files and hence it is generally very low compared
   with system RAM.  Even for a dataset in excess of 20GB, a
   setting of 128MB may be too much, if you have only 1GB RAM
   and an aggressive-at-caching OS like Linux.

But now that I have looked a bit more I see that this link

http://www.postgresql.org/docs/aw_pgsql_book/hw_performance/node6.html

which says...

   Ideally, the POSTGRESQL shared buffer cache will be:

       * Large enough to hold most commonly-accessed tables
       * Small enough to avoid swap pagein activity 

So I have conflicting documentation.

I have machine with 4Gig of ram.  What is the maximum
value of SHMMAX on FreeBSD?



More information about the freebsd-performance mailing list