Re: pgbench: option delaying queries till connections establishment?
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Alexander Korotkov <aekorotkov@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2020-11-16T21:32:03Z
Lists: pgsql-hackers
Hi, On 2020-11-14 20:07:38 +0300, Alexander Korotkov wrote: > Hmm... Let's see the big picture. You've recently committed a > patchset, which greatly improved the performance of GetSnapshotData(). > And you're making further improvements in this direction. But you're > getting trouble in measuring the effect, because Postgres is still > stuck on ProcArrayLock. No, the problem was that I couldn't measure the before/after behaviour reliably, because not all connections actually ever get established *before* the GetSnapshotData() scability patchset. Which made the numbers pointless, because we'd often end up with e.g. 80 connections doing work pre-patch, and 800 post-patch; which obviously measures very different things. I think the issue really is that, independent of PG lock contention, it'll take a while to establish all connections, and that starting to benchmark with only some connections established will create pretty pointless numbers. > And in this thread you propose a workaround > for that implemented on the pgbench side. My very dumb idea is > following: should we finally give a chance to more fair lwlocks rather > than inventing workarounds? Perhaps - I just don't think it's related to this thread. And how you're going to address the overhead. Greetings, Andres Freund
Commits
-
Fix new pthread code to respect --disable-thread-safety.
- de91c3b976cf 14.0 landed
-
Add missing pthread_barrier_t.
- 44bf3d5083e1 14.0 landed
-
pgbench: Improve time logic.
- 547f04e7348b 14.0 landed
-
pgbench: Refactor thread portability support.
- b1d6a8f86813 14.0 landed
-
pgbench: Synchronize client threads.
- aeb57af8e640 14.0 landed
-
Fix bogus logic for skipping unnecessary partcollation dependencies.
- 84d514887f9c 12.0 cited