[Zope] ZSERVER, THREADS, PERFORMANCE & FUTURE PERFORMANCE

Jeff Rush Jeff Rush" <jrush@timecastle.net
Fri, 12 Nov 99 17:17:33 -0500


On Thu, 11 Nov 1999 18:34:31 -0500, Michel Pelletier wrote:

>However, the goal of threading Zope was NOT to increase requests
>per/sec, the goal was to allow simultaneous requests to happen, in Zope
>1.x, requests were serialized and one requests wait for (possibly long
>running) previous requests.  Threading allows many requests to happen
>simultaneously, and means that individual threads can call 'blocking'
>methods without worrying about locking up the whole site.

Related question -- if _adding_ threads doesn't gain much raw performance,
then is it a sound workaround, on a site that (a) does a lot of OODB writing
and (b) doesn't take a  ton'o'hits, to turn threading off to avoid the dreaded
ZODB conflicts.  It seems this wouldn't lose much performance either.

Or will the nifty async properties of Medusa still allow >1 transactions
to have ZODB conflicts?  Basically, is threading the _only_ way Zope
can ever overlap requests internally?

I'm looking to document a workaround that *guarantees* those conflicts
never happen, even at some small loss of performance.

-Jeff Rush