>> On Wed, Oct 24, 2012 at 12:33 AM, Tim Godfrey <t...@obsidian.com.au> >> wrote: >> > Hi Jim >> > >> > Do you have any idea as to why people recommend against many storages >> under >> > a single Zeo? >> >> Seriously? >> >> Go back and read the thread. >> >> Seriously mate. The "why" is very vague. > > > There is nothing vague about the first reply to your question: > > > "ZEO does not handle each storage in a separate thread, so you're > underusing multiple CPUs if you have them. Multiple ZEO servers would > also spread the open sockets among them. There could still be a leak, > but it'd take longer to exhaust file descriptors."
Yes but this is not really strictly accurate. Because it is primarily IO bound, it is certainly possible to do more than 1 CPU worth of work (which Jim notes in a followup email). A useful thread that talks through some of the issues (as they were in 2006, anyway): http://www.gossamer-threads.com/lists/zope/users/201868?do=post_view_threaded#201868 >From my point of view, the biggest reason that I have seen *in practice* for splitting off storages into their own separate ZEO was the issue noted here: http://www.gossamer-threads.com/lists/zope/users/201929?do=post_view_threaded#201929 Where Dieter talks about the "vote" phase on large transactions preventing other requests from running. I have seen this happen in practice (with 2GB transactions) and other requests were, without doubt, prevented from being serviced during this phase. I hope this helps, regards, Darryl Dixon Winterhouse Consulting Ltd http://www.winterhouseconsulting.com _______________________________________________ For more information about ZODB, see http://zodb.org/ ZODB-Dev mailing list - ZODB-Dev@zope.org https://mail.zope.org/mailman/listinfo/zodb-dev