Re: Performance tuning for linux, 1GB RAM, dual CPU? - Mailing list pgsql-general

From Tom Lane
Subject Re: Performance tuning for linux, 1GB RAM, dual CPU?
Date
Msg-id 23761.994870319@sss.pgh.pa.us
Whole thread Raw
In response to RE: Performance tuning for linux, 1GB RAM, dual CPU?  (Christian Bucanac <christian.bucanac@mindark.com>)
Responses Re: Performance tuning for linux, 1GB RAM, dual CPU?  (Adam Manock <abmanock@planetcable.net>)
Re: Performance tuning for linux, 1GB RAM, dual CPU?  (Tatsuo Ishii <t-ishii@sra.co.jp>)
List pgsql-general
Christian Bucanac <christian.bucanac@mindark.com> writes:
>> I am going to try 768M (98304) for buffers and 6144 (6144 * 32 = 192M)
>> for sort mem. This way with the DB server serving a max of 32 application
>> servers the kernel and other processes should still have the last 64Mb RAM.

This is almost certainly a lousy idea.  You do *not* want to chew up all
available memory for PG shared buffers; you should leave a good deal of
space for kernel-level disk buffers.

Other fallacies in the above: (1) you're assuming the SortMem parameter
applies once per backend, which is not the case (it's once per sort or
hash step in a query, which could be many times per backend); (2) you're
not allowing *anything* for any space usage other than shared disk
buffers and sort memory.

The rule of thumb I recommend is to use (at most) a quarter of real RAM
for shared disk buffers.  I don't have hard measurements to back that
up, but I think it's a lot more reasonable as a starting point than
three-quarters of RAM.

            regards, tom lane

pgsql-general by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: dropping sequence with the table
Next
From: Bruce Momjian
Date:
Subject: Re: [PATCH] Partial indices almost there