Jens,
 
Thanks for your input.
 
Unfortunately, I am out of the office this week.  When I return I will be trying to resolve this issue.
 
I don't believe it has squat to do with my Database at all, so I will be setting up some scenarios where I am making simultaneous requests, requiring no DB access.
 
I will echo the data to my screen, hopefully I will see an interwoven jumble of characters as my web server is sending text "simultaneously" to multiple clients.
 
If I don't see an interwoven jumble of stuff representing the various threads, then my problem is more fundamental than DB contention.
 
I appreciate everyone's help.
 
Jon Emmons


 
On Fri, May 23, 2008 at 1:55 PM, Andreas Jung <lists@zopyx.com> wrote:


--On 23. Mai 2008 12:31:50 -0500 Jens Vagelpohl <jens@dataflake.org> wrote:


On May 23, 2008, at 11:49 , Jon Emmons wrote:
Another thought I had, is that Zope has only one python interpreter
running,
pretty much forcing all processing to be serial by default given
what you've
just said.

Sorry, that's all baloney. Just like blindly hiking the number of threads
or the ZODB database connection pool size. Zope can handle more than one
concurrent request.

I would take a close look at the Zope database adapter for your
relational database you are using. Some are not thread-enabled and will
serialize database access.

Not much to be added. Either your backend server blocks further requests
(as indicated earlier by a database lock) or some extension module is holding the GIL. We have seen situation where Python did not perform a thread switch while working on a complex regular expression operation in one thread (preventing a thread switch over ten seconds and longer).

Andreas

_______________________________________________
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists -
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )