I suspect lock contention and performance issues with __int128. And I would like to check the performance by forcibly disabling int128(Maxalign16bytes) and enable like long long(maxlign 8bytes).
Is it possible to disable int128 in PostgreSQL?
On Thursday, October 28, 2021, Andres Freund <andres@xxxxxxxxxxx> wrote:
On Thursday, October 28, 2021, Andres Freund <andres@xxxxxxxxxxx> wrote:
Hi,
On October 27, 2021 2:44:56 PM PDT, Ashkil Dighin <ashkildighin76@xxxxxxxxx> wrote:
>Hi,
>Yes, lock contention reduced with postgresqlv14.
>Lock acquire reduced 18% to 10%
>10.49 %postgres postgres [.] LWLockAcquire
>5.09% postgres postgres [.] _bt_compare
>
>Is lock contention can be reduced to 0-3%?
Probably not, or at least not easily. Because of the atomic instructions the locking also includes some other costs (e.g. cache misses, serializing store buffers,...).
There's a good bit we can do to increase the cache efficiency around buffer headers, but it won't get us quite that low I'd guess.
>On pg-stat-activity shown LwLock as “BufferCounter” and “WalInsert”
Without knowing what proportion they have to each and to non-waiting backends that unfortunately doesn't help that much..
Andres
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.