Re: Speed up Clog Access by increasing CLOG buffers
Tomas Vondra <tomas.vondra@2ndquadrant.com>
On 09/23/2016 02:59 PM, Pavan Deolasee wrote: > > > On Fri, Sep 23, 2016 at 6:05 PM, Tomas Vondra > <tomas.vondra@2ndquadrant.com <mailto:tomas.vondra@2ndquadrant.com>> wrote: > > On 09/23/2016 05:10 AM, Amit Kapila wrote: > > On Fri, Sep 23, 2016 at 5:14 AM, Tomas Vondra > <tomas.vondra@2ndquadrant.com > <mailto:tomas.vondra@2ndquadrant.com>> wrote: > > On 09/21/2016 08:04 AM, Amit Kapila wrote: > > > > (c) Although it's not visible in the results, 4.5.5 almost > perfectly > eliminated the fluctuations in the results. For example when > 3.2.80 produced > this results (10 runs with the same parameters): > > 12118 11610 27939 11771 18065 > 12152 14375 10983 13614 11077 > > we get this on 4.5.5 > > 37354 37650 37371 37190 37233 > 38498 37166 36862 37928 38509 > > Notice how much more even the 4.5.5 results are, compared to > 3.2.80. > > > how long each run was? Generally, I do half-hour run to get > stable results. > > > 10 x 5-minute runs for each client count. The full shell script > driving the benchmark is here: http://bit.ly/2doY6ID and in short it > looks like this: > > for r in `seq 1 $runs`; do > for c in 1 8 16 32 64 128 192; do > psql -c checkpoint > pgbench -j 8 -c $c ... > done > done > > > > I see couple of problems with the tests: > > 1. You're running regular pgbench, which also updates the small > tables. At scale 300 and higher clients, there is going to heavy > contention on the pgbench_branches table. Why not test with pgbench > -N? Sure, I can do a bunch of tests with pgbench -N. Good point. But notice that I've also done the testing with Dilip's workload, and the results are pretty much the same. regards -- Tomas Vondra http://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Use group updates when setting transaction status in clog.
- baaf272ac908 11.0 landed
- ccce90b39867 10.0 landed
-
Improve 64bit atomics support.
- e8fdbd58fe56 10.0 landed
-
Add ProcArrayGroupUpdate wait event.
- d4116a771925 10.0 landed
-
Make the different Unix-y semaphore implementations ABI-compatible.
- be7b2848c6d8 10.0 cited
-
Fix broken ALTER INDEX documentation
- 2143f5e12790 9.6.0 cited
-
Code and docs review for commit 3187d6de0e5a9e805b27c48437897e8c39071d45.
- d12e5bb79bb5 9.6.0 cited
-
Partition the freelist for shared dynahash tables.
- 44ca4022f3f9 9.6.0 cited
-
Correct StartupSUBTRANS for page wraparound
- 481725c0ba73 9.6.0 cited
-
Make idle backends exit if the postmaster dies.
- ac1d7945f866 9.6.0 cited
-
contrib/sslinfo: add ssl_extension_info SRF
- 49124613f134 9.6.0 cited
-
Reduce ProcArrayLock contention by removing backends in batches.
- 0e141c0fbb21 9.6.0 cited
-
Fix `make installcheck` for serializable transactions.
- 253de7e1eb9a 9.6.0 cited
-
Lockless StrategyGetBuffer clock sweep hot path.
- d72731a70450 9.5.0 cited
-
Reduce sinval synchronization overhead.
- b4fbe392f8ff 9.2.0 cited