On Fri, Sep 11, 2015 at 8:01 PM, Amit Kapila <amit.kapila16@gmail.com> wrote: > > On Thu, Sep 3, 2015 at 5:11 PM, Andres Freund <andres@anarazel.de> wrote: > > > > Updated comments and the patch (increate_clog_bufs_v2.patch) > containing the same is attached. >
Andres mentioned to me in off-list discussion, that he thinks we should first try to fix the clog buffers problem as he sees in his tests that clog buffer replacement is one of the bottlenecks. He also suggested me a test to see if the increase in buffers could lead to regression. The basic idea of test was to ensure every access on clog access to be a disk one. Based on his suggestion, I have written a SQL statement which will allow every access of CLOG to be a disk access and the query used for same is as below:
With ins AS (INSERT INTO test_clog_access values(default) RETURNING c1) Select * from test_clog_access where c1 = (Select c1 from ins) - 32768 * :client_id;
Test Results
---------------------
HEAD - commit d12e5bb7 Clog Buffers - 32
Patch-1 - Clog Buffers - 64
Patch-2 - Clog Buffers - 128
Patch_Ver/Client_Count
1
64
HEAD
12677
57470
Patch-1
12305
58079
Patch-2
12761
58637
Above data is a median of 3 10-min runs. Above data indicates that there is no substantial dip in increasing clog buffers.
Test scripts used in testing are attached with this mail. In perf_clog_access.sh, you need to change data_directory path as per your m/c, also you might want to change the binary name, if you want to create postgres binaries with different names.
Andres, Is this test inline with what you have in mind?