Thanks for the link Chris. How about scaling across SMP systems???.
Just use multiple Zope processes, one for each processor, all talking to the same ZEO server. For best performance, "bind" each Zope process to a single processor (the process for doing so differs across operating systems).
Trevor, Just to elaborate this a bit more, this is an issue to do with the global interpreter lock in python. It is an issue with any interpreter or virtual machine. Java has the same problems. I wrote a paper a few years ago on performance of Zope/Python on multi-processor Solaris boxes: http://zope.org/Members/glpb/solaris In it there is references to Java people (specifically BEA Weblogic people) finding that they were encountering the same thread locking issues as I was discovering. Since then Sun have changed their default threading libraries to be the 'alternative' ones discussed in that paper. :) I think most java app servers internally start multiple JVM processes and balance the load across them (I know mod_jk or mod_jserv does). This is that same as what you can achieve with multiple ZEO clients, one for each process, and is accepted as a 'standard' process within the Zope community on multi-processor systems. -Matt -- Matt Hamilton matth@netsight.co.uk Netsight Internet Solutions, Ltd. Business Vision on the Internet http://www.netsight.co.uk +44 (0)117 9090901 Web Design | Zope/Plone Development & Consulting | Co-location | Hosting