Amit-san,
On Wed, Mar 20, 2019 at 8:21 AM, Amit Langote wrote:
> On 2019/03/20 12:15, Imai, Yoshikazu wrote:
> > Here the details.
> >
> > [creating partitioned tables (with 1024 partitions)] drop table if
> > exists rt; create table rt (a int, b int, c int) partition by range
> > (a); \o /dev/null select 'create table rt' || x::text || ' partition
> > of rt for values from (' || (x)::text || ') to (' || (x+1)::text ||
> > ');' from generate_series(1, 1024) x; \gexec \o
> >
> > [select1024.sql]
> > \set a random (1, 1024)
> > select * from rt where a = :a;
> >
> > [pgbench]
> > pgbench -n -f select1024.sql -T 60
>
> Thank you.
>
> Could you please try with running pgbench for a bit longer than 60 seconds?
I run pgbench for 180 seconds but there are still difference.
1024: 7,004 TPS
8192: 5,859 TPS
I also tested for another number of partitions by running pgbench for 60 seconds.
num of part TPS
----------- -----
128 7,579
256 7,528
512 7,512
1024 7,257 (7274, 7246, 7252)
2048 6,718 (6627, 6780, 6747)
4096 6,472 (6434, 6565, 6416) (quoted from above (3)'s results)
8192 6,008 (6018, 5999, 6007)
I checked whether there are the process which go through the number of partitions, but I couldn't find. I'm really
wonderingwhy this degradation happens.
Yoshikazu Imai