Dieter Maurer wrote:
We do not yet precisely the cause of our commit contentions.
Hard to tell what'll make them better then. ;)
Almost surely there are several causes that all can lead to contention.
We already found:
* client side causes (while the client helds to commit lock)
- garbage collections (which can block a client in the order of
10 to 20 s)
Interesting. Perhaps someone might enjoy investigating turning off
garbage collection during commits.
- NFS operations (which can take up to 27 s in our setup -- for
still unknown reasons)
Not much ZODB can do about that. ;)
- invalidation processing, espicially ZEO ClientCache processing
Interesting. Not knowing much about how invalidations are handled, I'm
curious where the slow-down is. Do you have any more detail?
* server side causes
- commit lock hold during copy phase of pack
- IO trashing during the reachability analysis in pack
The new pack code should help quite a bit with the above (if you're
saying what I think you're saying).
- non deterministic server side IO anomalities
(IO suddently takes several times longer than usual -- for still
Senior Software Engineer
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org