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 wondering why this degradation 
happens.

Yoshikazu Imai 

Reply via email to