RE: [Zope] ZSERVER, THREADS, PERFORMANCE & FUTURE PERFORMANCE
-----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.
participants (1)
-
Toby Dickenson