Обсуждение: why after increase the hash table partitions, tpmc decrease

Поиск
Список
Период
Сортировка

why after increase the hash table partitions, tpmc decrease

От
Xiaoyulei
Дата:

 

We use benchmarksql to start tpcc test in postgresql 9.3.3.

Before test we set benchmarksql client number about 800. And we increase the hash partitions from 16 to 1024 , in order to reduce the hash partition locks competition.

We expect that after increase the number of partitions, reduces lock competition, TPMC should be increased. But the test results on the contrary, after modified to 1024, TPMC did not increase, but decrease.

Why such result?

 

We modify the following macro definition:

NUM_BUFFER_PARTITIONS 1024

LOG2_NUM_PREDICATELOCK_PARTITIONS 10

LOG2_NUM_LOCK_PARTITIONS 10

 

Re: why after increase the hash table partitions, tpmc decrease

От
Takashi Horikawa
Дата:
Hi,

> We modify the following macro definition:
> NUM_BUFFER_PARTITIONS 1024
> LOG2_NUM_PREDICATELOCK_PARTITIONS 10
> LOG2_NUM_LOCK_PARTITIONS 10

IME, increase in NUM_BUFFER_PARTITIONS is effective but that in
LOG2_NUM_LOCK_PARTITIONS results in performance degradation. Probably
because it leads to an increase in overhead of LockReleaseAll() in
src/backend/storage/lmgr/lock.c. I recommends that LOG2_NUM_LOCK_PARTITIONS
should not be increased so much.

Best regards,
Takashi Horikawa
--


> -----Original Message-----
> From: pgsql-performance-owner@postgresql.org
> [mailto:pgsql-performance-owner@postgresql.org] On Behalf Of Xiaoyulei
> Sent: Tuesday, September 02, 2014 4:00 PM
> To: pgsql-performance@postgresql.org
> Cc: yetao
> Subject: [PERFORM] why after increase the hash table partitions, tpmc
> decrease
>
>
>
> We use benchmarksql to start tpcc test in postgresql 9.3.3.
>
> Before test we set benchmarksql client number about 800. And we increase
> the hash partitions from 16 to 1024 , in order to reduce the hash
partition
> locks competition.
>
> We expect that after increase the number of partitions, reduces lock
> competition, TPMC should be increased. But the test results on the
contrary,
> after modified to 1024, TPMC did not increase, but decrease.
>
> Why such result?
>
>
>
> We modify the following macro definition:
>
> NUM_BUFFER_PARTITIONS 1024
>
> LOG2_NUM_PREDICATELOCK_PARTITIONS 10
>
> LOG2_NUM_LOCK_PARTITIONS 10
>
>


Вложения