Re: checkpoint patches

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Jeff Janes <jeff(dot)janes(at)gmail(dot)com>
Cc: Stephen Frost <sfrost(at)snowman(dot)net>, pgsql-hackers(at)postgresql(dot)org, Greg Smith <greg(at)2ndquadrant(dot)com>
Subject: Re: checkpoint patches
Date: 2012-03-23 00:02:37
Message-ID: CA+TgmoaUBbPKMxhUneyqrFggJ52heyf+fjnaqufoo0uBWHSqdQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Mar 22, 2012 at 7:03 PM, Jeff Janes <jeff(dot)janes(at)gmail(dot)com> wrote:
> On Thu, Mar 22, 2012 at 6:07 AM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
>> On Wed, Mar 21, 2012 at 3:38 PM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
>>> It looks like I neglected to record that information for the last set
>>> of runs.  But I can try another set of runs and gather that
>>> information.
>>
>> OK.  On further review, my previous test script contained several
>> bugs.  So you should probably ignore the previous set of results.  I
>> did a new set of runs, and this time bumped up checkpoint_segments a
>> bit more, in the hopes of giving the cache a bit more time to fill up
>> with dirty data between checkpoints.  Here's the full settings I used:
>>
>> shared_buffers = 8GB
>> maintenance_work_mem = 1GB
>> synchronous_commit = off
>> checkpoint_timeout = 15min
>> checkpoint_completion_target = 0.9
>> wal_writer_delay = 20ms
>> log_line_prefix = '%t [%p] '
>> log_checkpoints='on'
>> checkpoint_segments='1000'
>> checkpoint_sync_pause='3'  # for the checkpoint-sync-pause-v1 branch only
>>
>> With that change, each of the 6 tests (3 per branch) involved exactly
>> 2 checkpoints, all triggered by time rather than by xlog.
>
> Are you sure this is the case?  If the server was restarted right
> before the pgbench -T 1800, then there should 15 minutes of no
> checkpoint, followed by about 15*0.9 minutes + some sync time of one
> checkpoint, and maybe just a bit of the starting of another
> checkpoint.  If the server was not bounced between pgbench -i and
> pgbench -T 1800, then the first checkpoint would start at some
> unpredictable time into the benchmark run.

I didn't stop and restart the server after pgbench -i; it fires off
the test pgbench right after initializing. That seems to provide
enough padding to ensure two checkpoints within the actual run.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Daniel Farina 2012-03-23 00:26:10 Standbys, txid_current_snapshot, wraparound
Previous Message Ants Aasma 2012-03-22 23:38:39 Re: Patch: add timing of buffer I/O requests