On Tue, Mar 6, 2018 at 10:10 AM, Pavan Deolasee <pavan.deola...@gmail.com>
wrote:

>
>
> On Tue, Mar 6, 2018 at 7:29 AM, Peter Geoghegan <p...@bowt.ie> wrote:
>
>> On Mon, Mar 5, 2018 at 5:48 PM, Claudio Freire <klaussfre...@gmail.com>
>> wrote:
>>
>> > I believe PKs are a prime candidate for this optimization, and
>> > expecting it to apply only when no concurrency is involved is severely
>> > dumbing down the optimization.
>>
>> Pavan justified the patch using a benchmark that only involved a
>> single client -- hardly typical for a patch that changes the B-Tree
>> code. If the benefits with many clients can be shown to matter, that
>> will make this much more interesting to me.
>
>
> Ok. I will repeat those tests with more number of clients and report back.
>
>
So I repeated the tests with 1,2,4 and 8 clients, each running the
following statement and a total of 1024 transactions. So roughly 100M rows
are inserted.

INSERT INTO testtab(b) SELECT generate_series(1,100000);

The table definition is:
postgres=# \d+ testtab
                                               Table "public.testtab"
 Column |  Type  | Collation | Nullable |              Default
 | Storage | Stats target | Description
--------+--------+-----------+----------+------------------------------------+---------+--------------+-------------
 a      | bigint |           | not null |
nextval('testtab_a_seq'::regclass) | plain   |              |
 b      | bigint |           |          |
  | plain   |              |
Indexes:
    "testtab_a_key" UNIQUE CONSTRAINT, btree (a)


After taking average of 3-runs:

+---------+--------------------------------+-------------------------------+
| clients | Patched - time in sec     | Master - time in sec |
+---------+--------------------------------+-------------------------------+
| 1       | 311.8643602                    | 411.832757                    |
+---------+--------------------------------+-------------------------------+
| 2       | 252.5433                       | 300.7875613                   |
+---------+--------------------------------+-------------------------------+
| 4       | 337.0414279                    | 350.9636766                   |
+---------+--------------------------------+-------------------------------+
| 8       | 444.2035582                    | 477.1903417                   |
+---------+--------------------------------+-------------------------------+

So yes, the benefits of the patch go down with higher number of clients,
but it does not entirely vanish.

Thanks,
Pavan

-- 
 Pavan Deolasee                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services

Reply via email to