Re: Speed up Clog Access by increasing CLOG buffers
Robert Haas <robertmhaas@gmail.com>
On Tue, Sep 27, 2016 at 5:15 PM, Tomas Vondra <tomas.vondra@2ndquadrant.com> wrote: > So, I got the results from 3.10.101 (only the pgbench data), and it looks > like this: > > 3.10.101 1 8 16 32 64 128 192 > -------------------------------------------------------------------- > granular-locking 2582 18492 33416 49583 53759 53572 51295 > no-content-lock 2580 18666 33860 49976 54382 54012 51549 > group-update 2635 18877 33806 49525 54787 54117 51718 > master 2630 18783 33630 49451 54104 53199 50497 > > So 3.10.101 performs even better tnan 3.2.80 (and much better than 4.5.5), > and there's no sign any of the patches making a difference. I'm sure that you mentioned this upthread somewhere, but I can't immediately find it. What scale factor are you testing here? It strikes me that the larger the scale factor, the more CLogControlLock contention we expect to have. We'll pretty much do one CLOG access per update, and the more rows there are, the more chance there is that the next update hits an "old" row that hasn't been updated in a long time. So a larger scale factor also increases the number of active CLOG pages and, presumably therefore, the amount of CLOG paging activity. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
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