Re: Speed up Clog Access by increasing CLOG buffers
Robert Haas <robertmhaas@gmail.com>
On Thu, Oct 20, 2016 at 3:36 AM, Dilip Kumar <dilipbalaut@gmail.com> wrote: > On Thu, Oct 13, 2016 at 12:25 AM, Robert Haas <robertmhaas@gmail.com> wrote: >> I agree with these conclusions. I had a chance to talk with Andres >> this morning at Postgres Vision and based on that conversation I'd >> like to suggest a couple of additional tests: >> >> 1. Repeat this test on x86. In particular, I think you should test on >> the EnterpriseDB server cthulhu, which is an 8-socket x86 server. > > I have done my test on cthulhu, basic difference is that In POWER we > saw ClogControlLock on top at 96 and more client with 300 scale > factor. But, on cthulhu at 300 scale factor transactionid lock is > always on top. So I repeated my test with 1000 scale factor as well on > cthulhu. So the upshot appears to be that this problem is a lot worse on power2 than cthulhu, which suggests that this is architecture-dependent. I guess it could also be kernel-dependent, but it doesn't seem likely, because: power2: Red Hat Enterprise Linux Server release 7.1 (Maipo), 3.10.0-229.14.1.ael7b.ppc64le cthulhu: CentOS Linux release 7.2.1511 (Core), 3.10.0-229.7.2.el7.x86_64 So here's my theory. The whole reason why Tomas is having difficulty seeing any big effect from these patches is because he's testing on x86. When Dilip tests on x86, he doesn't see a big effect either, regardless of workload. But when Dilip tests on POWER, which I think is where he's mostly been testing, he sees a huge effect, because for some reason POWER has major problems with this lock that don't exist on x86. If that's so, then we ought to be able to reproduce the big gains on hydra, a community POWER server. In fact, I think I'll go run a quick test over there right now... -- 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