Skip site navigation (1) Skip section navigation (2)

Re: [PERFORMANCE] Buying hardware

From: david(at)lang(dot)hm
To: "M(dot) Edward (Ed) Borasky" <znmeb(at)cesmail(dot)net>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: [PERFORMANCE] Buying hardware
Date: 2009-01-27 15:41:55
Message-ID: alpine.DEB.1.10.0901270735460.16162@asgard.lang.hm (view raw or flat)
Thread:
Lists: pgsql-performance
On Tue, 27 Jan 2009, M. Edward (Ed) Borasky wrote:

> david(at)lang(dot)hm wrote:
>> On Mon, 26 Jan 2009, David Rees wrote:
>>
>>> And yes, the more memory you can squeeze into the machine, the better,
>>> though you'll find that after a certain point, price starts going up
>>> steeply.  Of course, if you only have a 15GB database, once you reach
>>> 16GB of memory you've pretty much hit the point of diminishing
>>> returns.
>>
>> actually, you need more memory than that. besides the data itself you
>> would want memory for several other things, among them:
>>
>> 1. your OS
>> 2. your indexes
>> 3. you per-request memory allocations (for sorting, etc)
>>   this is highly dependant on your workload (type and number of parallel
>> requests)
>> 4. 'dead' tuples in your table (that will be cleared by a vaccum, but
>> haven't been yet)
>>
>> and probably other things as well.
>>
>> I don't know how large a database will fit in 16G of ram, but I suspect
>> it's closer to 8G than 15G.
>>
>> any experts want to throw out a rule-of-thumb here?
>>
>
> There are starting to be some tools built that will show you how RAM is
> allocated, now that recent kernels (2.6.25+) do a better job of
> accounting for RAM pages. So I would expect the total memory dedicated
> to the database functionality to be much closer to 15 GB than 8 GB.

that's not quite the opposite of the statement that I was trying to make.

assuming that you are not running anything else on the system, how much 
data can you put on the system and run entirely out of ram.

the database has it's overhead (sort buffers, indexes, per-request 
buffers, 'dead tuples', etc) that mean that if you have a database that 
an uncompressed dump takes 8G, you need substantially more than 8G of ram 
to avoid using the disks (other than to store changes)

how much more is the question. I know it is going to vary from 
installation to installation, but is there any guidelines that people can 
start with?

David Lang

In response to

Responses

pgsql-performance by date

Next:From: Josh BerkusDate: 2009-01-27 17:33:47
Subject: Re: Odd behavior with temp usage logging
Previous:From: M. Edward (Ed) BoraskyDate: 2009-01-27 15:20:33
Subject: Re: [PERFORMANCE] Buying hardware

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group