Re: Load distributed checkpoint - Mailing list pgsql-hackers

From Inaam Rana
Subject Re: Load distributed checkpoint
Date
Msg-id 833c669b0612201229o2452e4efp5967a245d1e10692@mail.gmail.com
Whole thread Raw
In response to Re: Load distributed checkpoint  ("Takayuki Tsunakawa" <tsunakawa.takay@jp.fujitsu.com>)
Responses Re: Load distributed checkpoint  (Greg Smith <gsmith@gregsmith.com>)
List pgsql-hackers


On 12/20/06, Takayuki Tsunakawa <tsunakawa.takay@jp.fujitsu.com> wrote:
[Conclusion]
I believe that the problem cannot be solved in a real sense by
avoiding fsync/fdatasync().  We can't ignore what commercial databases
have done so far.  The kernel does as much as he likes when PostgreSQL
requests him to fsync().

I am new to the community and am very interested in the tests that you have done. I am also working on resolving the sudden IO spikes at checkpoint time. I agree with you that fsync() is the core issue here.

Being a new member I was wondering if someone on this list has done testing with O_DIRECT and/or O_SYNC for datafiles as that seems to be the most logical way of dealing with fsync() flood at checkpoint time. If so, I'll be very interested in the results. As mentioned in this thread that a single bgwriter with O_DIRECT will not be able to keep pace with cleaning effort causing backend writes. I think (i.e. IMHO) multiple bgwriters and/or AsyncIO with O_DIRECT can resolve this issue.

Talking of bgwriter_* parameters I think we are missing a crucial internal counter i.e. number of dirty pages. How much work bgwriter has to do at each wakeup call should be a function of total buffers and currently dirty buffers. Relying on both these values instead of just one static NBuffers should allow bgwriter to adapt more quickly to workload changes and ensure that not much work is accumulated for checkpoint.

--
Inaam Rana
EnterpriseDB   http://www.enterprisedb.com

pgsql-hackers by date:

Previous
From: Lukas Kahwe Smith
Date:
Subject: Re: Release 8.2.0 done, 8.3 development starts
Next
From: Zdenek Kotala
Date:
Subject: Re: Question about debugging bootstrapping and catalog