Improving connection scalability (src/backend/storage/ipc/procarray.c)

Поиск
Список
Период
Сортировка
От Ranier Vilela
Тема Improving connection scalability (src/backend/storage/ipc/procarray.c)
Дата
Msg-id CAEudQAr+EH0YxUDpG0=dTOQ6HsfC715A1Z-b2GBm2UD1WjE6Aw@mail.gmail.com
обсуждение исходный текст
Ответы Re: Improving connection scalability (src/backend/storage/ipc/procarray.c)  (Robert Haas <robertmhaas@gmail.com>)
Re: Improving connection scalability (src/backend/storage/ipc/procarray.c)  (Andres Freund <andres@anarazel.de>)
Список pgsql-hackers
Hi hackers,

Inspired by Andre's works, I put efforts to try to improve GetSnapShotData().
I think that I got something.

As is well known GetSnapShotData() is a critical function for Postgres performance, already demonstrated in other benchmarks.
So any gain, no matter how small, makes a difference.

So far, no regression has been observed.

Windows 10 64 bits (msvc 2019 64 bits)
pgbench -M prepared -c $conns -S -n -U postgres

conns         tps head                 tps patched
1          2918.004085              3027.550711
10      12262.415696            12876.641772
50      13656.724571            14877.410140
80      14338.202348            15244.192915

pgbench can't run with conns > 80.

Linux Ubuntu 64 bits (gcc 9.4)
./pgbench -M prepared -c  $conns -j $conns -S -n -U postgres

conns         tps head                 tps patched
1          2918.004085              3190.810466
10      12262.415696            17199.862401
50      13656.724571            18278.194114
80      14338.202348            17955.336101
90      16597.510373            18269.660184
100    17706.775793            18349.650150
200    16877.067441            17881.250615
300    16942.260775            17181.441752
400    16794.514911            17124.533892
500    16598.502151            17181.244953
600    16717.935001            16961.130742
700    16651.204834            16959.172005
800    16467.546583            16834.591719
900    16588.241149            16693.902459
1000  16564.985265            16936.952195

I was surprised that in my tests, with connections greater than 100,
the tps performance drops, even in the head.
I don't have access to a powerful machine, to really test with a high workload.
But with connections below 100, It seems to me that there are obvious gains.

patch attached.

regards,
Ranier Vilela


Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Wood May
Дата:
Сообщение: Reference column alias for common expressions
Следующее
От: Pantelis Theodosiou
Дата:
Сообщение: Re: Reference column alias for common expressions