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

From: Ranier Vilela <ranier(dot)vf(at)gmail(dot)com>
To: Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Improving connection scalability (src/backend/storage/ipc/procarray.c)
Date: 2022-05-24 15:28:20
Message-ID: CAEudQAr+EH0YxUDpG0=dTOQ6HsfC715A1Z-b2GBm2UD1WjE6Aw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

Attachment Content-Type Size
001-improve-scability-procarray.patch application/octet-stream 23.6 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Pantelis Theodosiou 2022-05-24 15:47:05 Re: Reference column alias for common expressions
Previous Message Wood May 2022-05-24 15:12:21 Reference column alias for common expressions