Hi Tom,
I compiled and tested your patch on a dual Opteron server with 12GB RAM
running FC3. Here are the results I get with pgbench with a scale-factor of
10 over an average of 6 runs. All other postgresql.conf options were left at
their default values.
CVS tip results
---------------
Shared buffers = 1000
tps = 232.7013962 (including connections establishing)
tps = 250.9295233 (excluding connections establishing)
Shared buffers = 10000
tps = 217.7393482 (including connections establishing)
tps = 236.8184297 (excluding connections establishing)
Shared buffers = 100000
tps = 150.4182863 (including connections establishing)
tps = 178.3881158 (excluding connections establishing)
CVS tip + Tom's Bufmgr patch
----------------------------
Shared buffers = 1000
tps = 248.3239085 (including connections establishing)
tps = 270.0627257 (excluding connections establishing)
Shared buffers = 10000
tps = 249.7294955 (including connections establishing)
tps = 273.6144427 (excluding connections establishing)
Shared buffers = 100000
tps = 197.8116898 (including connections establishing)
tps = 224.362671 (excluding connections establishing)
The interesting thing to note was that going up to 100000 buffers seemed to
cause the performance to go down again which is something I wouldn't have
expected on a server with such a large amount of RAM given that it was
suggested ARC would perform better with more shared buffers. But all in all,
it looks like your patch is having a positive effect on performance.
Kind regards,
Mark.
------------------------
WebBased Ltd
South West Technology Centre
Tamar Science Park
Plymouth
PL6 8BT
T: +44 (0)1752 791021
F: +44 (0)1752 791023
W: http://www.webbased.co.uk