But the snapshots only are grabbing the xids from each proc, right? Doesn't seem that would take very long.

If this is the bottleneck, maybe we need a shared proc lock.



I had a hard day testing and verifying this kind of stuff. We have run several hundred benchmarks at the customer using many different settings. SERIALIZABLE was the key to high-performance. I have run dozens of different benchmarks today (cursors, simple selects, concurrent stuff, ...). I have not found a difference. I have no idea why the customer's system was so much faster in SERIALIZABLE mode. They use a native C++ implementation of the FE/BE protocol but as far as I have seen their database layer does not care about transaction isolation too much.
I will continue testing this kind of stuff because this is a very strange yet important issue.
I will try to get some code from the customer. This is mostly non-disclosure stuff so I am not sure what we can use. I just wanted to ask if somebody has a reasonable explanation and if somebody can verify this behaviour.


Maybe we will find the reason some day :(.
Sorry that I cannot provide more information at the moment.

Regards,

Hans

--
Cybertec Geschwinde u Schoenig
Ludo-Hartmannplatz 1/14, A-1160 Vienna, Austria
Tel: +43/2952/30706; +43/664/233 90 75
www.cybertec.at, www.postgresql.at, kernel.cybertec.at



---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Reply via email to