Re: pgbench - allow to create partitioned tables

Fabien COELHO <coelho@cri.ensmp.fr>

From: Fabien COELHO <coelho@cri.ensmp.fr>
To: Simon Riggs <simon@2ndquadrant.com>
Cc: PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>
Date: 2019-07-24T22:26:34Z
Lists: pgsql-hackers

Attachments

>>>   # and look at latency:
>>>   # no parts = 0.071 ms
>>>   #   1 hash = 0.071 ms (did someone optimize this case?!)
>>>   #   2 hash ~ 0.126 ms (+ 0.055 ms)
>>>   #  50 hash ~ 0.155 ms
>>>   # 100 hash ~ 0.178 ms
>>>   # 150 hash ~ 0.232 ms
>>>   # 200 hash ~ 0.279 ms
>>>   # overhead ~ (0.050 + [0.0005-0.0008] * nparts) ms
>> 
>> It is linear?
>
> Good question. I would have hoped affine, but this is not very clear on these 
> data, which are the median of about five runs, hence the bracket on the slope 
> factor. At least it is increasing with the number of partitions. Maybe it 
> would be clearer on the minimum of five runs.

Here is a fellow up.

On the minimum of all available runs the query time on hash partitions is 
about:

    0.64375 nparts + 118.30979 (in µs).

So the overhead is about 47.30979 + 0.64375 nparts, and it is indeed 
pretty convincingly linear as suggested by the attached figure.

-- 
Fabien.

Commits

  1. pgbench: add --partitions and --partition-method options.