> The above could already happen in 8.4, where the visibility map was
> introduced. The contention on the VM buffer would be just as bad whether you
> hold the heap page lock at the same time or not. I have not heard any
> complaints of contention on VM buffers.
>
> --
>  Heikki Linnakangas
>
>
> a) First of all, it(Visibility Map) should have definitely affected the
scalability of postgres in scenarios where in updates occur during a time
batch window. May be the increase in speed of vacuums negate that effect.
b) Second, currently the index scans  don't touch the visibility map and in
future they are going to acquire share lock on that. This should increase
the contention.
c) Your statement : "The contention on the VM buffer would be just as bad
whether you hold the heap page lock at the same time or not."
I am talking about the contention time frame of the heap page. It will be
increased Consider my statement in conjunction with the scenario 2.
d) In addition, currently there is no WAL Logging, while the bit is cleared,
which would not be the case in future and hence the exclusive lock held on
the visibility map is going to be held for a longer time.

You might definitely see some performance improvement, if you are testing
this in anything less than 4 cores. Bump up the core count and processor
count and check whether this affects the load-throughput curve.

Thanks,
Gokul.

Reply via email to