Re: 9.4 regression - Mailing list pgsql-hackers

From Thom Brown
Subject Re: 9.4 regression
Date
Msg-id CAA-aLv5qOJ7TAVK7QZmxPfs_kzaaBAcX9qpPX7=Dx5weNLm0sA@mail.gmail.com
Whole thread Raw
In response to Re: 9.4 regression  (Thom Brown <thom@linux.com>)
Responses Re: 9.4 regression  (Kevin Grittner <kgrittn@ymail.com>)
Re: 9.4 regression  (Greg Stark <stark@mit.edu>)
Re: 9.4 regression  (Andres Freund <andres@2ndquadrant.com>)
List pgsql-hackers
On 7 August 2013 17:54, Thom Brown <thom@linux.com> wrote:
> On 7 August 2013 17:49, Andres Freund <andres@2ndquadrant.com> wrote:
>> On 2013-08-07 17:21:01 +0100, Thom Brown wrote:
>>> Only build option used was --enable-depend.  I did have
>>> --enable-cassert for the shorter 5 min benchmarks, but was removed for
>>> the 30 min tests.
>>
>>> pgbench -j 80 -c 80 -T 300:
>>>
>>> 8.4 - 535.990042
>>> 9.2 - 820.798141
>>> 9.3 - 828.395498
>>> 9.4 - 197.851720
>> e>
>>> pgbench -j 80 -c 80 -T 1800:
>>>
>>> 8.4: 812.482108
>>> 9.4 HEAD: 355.397658
>>> 9.4 e5592c (9th July): 356.485625
>>> 9.4 537227 (7th July): 365.992518
>>> 9.4 9b2543 (7th July): 362.587339
>>> 9.4 269e78 (5th July): 359.439143
>>> 9.4 8800d8 (5th July): 821.933082
>>> 9.4 568d41 (2nd July): 822.991160
>>
>> The differences between those runs look to small for enable/disable
>> cassert to me. Are you you properly rebuilt for that?
>>
>>> 269e78 was the commit immediately after 8800d8, so it appears that
>>> introduced the regression.
>>>
>>> "Use posix_fallocate() for new WAL files, where available."
>>
>> This is curious. Could you either run a longer test before/after the
>> commit or reduce checkpoint_timeout to something like 3min?
>
> Okay, I'll rerun the test for both those commits at 1 hour each with
> checkpoint_timeout set at 3mins, but with all other configuration
> settings the same

Results
(checkpoint_timeout = 3min)

pgbench -j 80 -c 80 -T 3600

269e78: 606.268013
8800d8: 779.583129


Jon, here are the test results you asked for:

$ for i in 1 2 5 10 100; do ./test_fallocate foo $i 1; done
method: classic. 1 open/close iterations, 1 rewrite in 0.9157s
method: posix_fallocate. 1 open/close iterations, 1 rewrite in 0.5314s
method: glibc emulation. 1 open/close iterations, 1 rewrite in 0.6018s
method: classic. 2 open/close iterations, 1 rewrite in 1.1417s
method: posix_fallocate. 2 open/close iterations, 1 rewrite in 0.6505s
method: glibc emulation. 2 open/close iterations, 1 rewrite in 1.8900s
method: classic. 5 open/close iterations, 1 rewrite in 3.6490s
method: posix_fallocate. 5 open/close iterations, 1 rewrite in 1.9841s
method: glibc emulation. 5 open/close iterations, 1 rewrite in 3.1053s
method: classic. 10 open/close iterations, 1 rewrite in 5.7562s
method: posix_fallocate. 10 open/close iterations, 1 rewrite in 3.2015s
method: glibc emulation. 10 open/close iterations, 1 rewrite in 7.1426s
method: classic. 100 open/close iterations, 1 rewrite in 64.9483s
method: posix_fallocate. 100 open/close iterations, 1 rewrite in 36.3748s
method: glibc emulation. 100 open/close iterations, 1 rewrite in 64.8386s

-- 
Thom



pgsql-hackers by date:

Previous
From: Stephen Frost
Date:
Subject: Re: Kudos for Reviewers -- wrapping it up
Next
From: Bruce Momjian
Date:
Subject: Re: Kudos for Reviewers -- wrapping it up