Re: Adding more memory = hugh cpu load

From: Leonardo Francalanci <m_lists(at)yahoo(dot)it>
To: "sthomas(at)peak6(dot)com" <sthomas(at)peak6(dot)com>
Cc: alexandre - aldeia digital <adaldeia(at)gmail(dot)com>, "pgsql-performance(at)postgresql(dot)org" <pgsql-performance(at)postgresql(dot)org>
Subject: Re: Adding more memory = hugh cpu load
Date: 2011-10-10 16:14:37
Message-ID: 1318263277.56967.YahooMailNeo@web29013.mail.ird.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

> Then the 

> database makes the fsync call, and suddenly the OS wants to flush 2-6GB of data
> straight to disk. Without that background trickle, you now have a flood that
> only the highest-end disk controller or a backing-store full of SSDs or PCIe
> NVRAM could ever hope to absorb.

Isn't checkpoint_completion_target supposed to deal exactly with that problem?

Plus: if 2-6GB is too much, why not decrease checkpoint_segments? Or
checkpoint_timeout?

> The kernel
> developers agree, or we wouldn't have dirty_bytes, or
> dirty_background_bytes, and they wouldn't have changed the defaults to 5%
> and 10% instead of 10% and 40%. 

I'm not saying that those kernel parameters are "useless"; I'm saying they are used
in  the same way as the checkpoint_segments, checkpoint_timeout and
checkpoint_completion_target are used by postgresql; and on a postgresql-only system
I would rather have postgresql look after the fsync calls, not the OS.

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message alexandre - aldeia digital 2011-10-10 17:31:40 Re: Adding more memory = hugh cpu load
Previous Message Greg Smith 2011-10-10 16:07:34 Re: Adding more memory = hugh cpu load