[Zope] ZSERVER, THREADS, PERFORMANCE & FUTURE PERFORMANCE
Toby Dickenson
tdickenson@geminidataloggers.com
Mon, 15 Nov 1999 11:06:29 -0000
> -----Original Message-----
> From: Jeff Rush [mailto:jrush@timecastle.net]
> Subject: Re: [Zope] ZSERVER, THREADS, PERFORMANCE & FUTURE PERFORMANCE
>
>
> 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.
Today, the ODB maintains a separate pool of object-spaces (aka
'connections') for each version. The default size of the main pool is 7
object-spaces, and the default for version objects-spaces is 3. Assuming
there are no versions in use, No more than 7 threads can be running at one
time (even if you create more) since the excess will be blocked waiting for
a free object-space.
What if these write-intensive requests could specify that they should take
place in a special pool, containing only one object-space..... The
write-intensive requests would be serialized, but every other request would
still be handled concurrently.
ps. perhaps this should move to the zopedev list.