RE: [Zope] Help ...........Desperate
[exec. summary -- concurrent requests becoming serialised; suggestions] Hi, I ran your test script on our zope server, and managed to view many other pages while zope was parsing the page... It looks like you might not have enough available threads (or maybe database connections?). It's strange that only one request at a time is processed -- are you perhaps using Zope in single-threaded mode (using pcgi_publisher; see doc/WEBSERVER.txt for details)? You can set the number of threads Zope uses by changing NUMBER_OF_THREADS in Zope.cgi; the default is 4. Note that increasing this number will also increase Zope's memory footprint, as each thread gets its own copy of the persistent object space. It may also be that your machine is simply choking on that test script -- it takes a while for zope to parse and render it. Despite python switching between threads every n bytecodes, such a script (rendering one million items) is going to put quite a load on the machine! On your database queries you may be using a database adaptor that doesn't give up the global python interpreter lock during transactions. This prevents other threads from executing. What database and database adaptor version are you using? See http://www.zope.org/Members/petrilli/DARoadmap for details. There is a brief description of why the interpreter lock exists in the python FAQ, section 4.88 (http://www.python.org/doc/FAQ.html#4.88). Although unlikely with only one user, it's also possible that you could be running out of database connections. By default, a maximum of seven connections can be opened to any database you add. This limit can be set by adjusting pool_size in zope_dir/lib/pyhthon/ZODB/DB.py (later versions of Zope allow you to tweak these things in a custom_zodb.py file; try searching the mailing list for details). Note that increasing pool_size will again increase Zope's memory footprint, as query results are cached on a per-connection basis. hth, -- Marcus
-----Original Message----- From: Daniel G. Rusch [mailto:drusch@globalcrossing.com] Sent: 29 March 2000 22:45 To: zope@zope.org Subject: [Zope] Help ...........Desperate
Help very desperate....
We have a Zope site running: Zope version: Zope 2.0.1 (source release, python 1.5.1, linux2) (also happens on a seperate box running Zope 2.1.6) Python version: 1.5.2 (#6, Sep 22 1999, 10:32:58) [GCC 2.8.1] System Platform: sunos5, Ultra-2
It seems that if a user hits a page that either does an intense database query or iterates over a large number of items, all other users are prevented from accessing any page....! This problem may to be related to the dtml-in but we are not sure.
For example suppose user A hits the following page (before user B hits his page): <!--#var standard_html_header--> <dtml-in "_.range(999)"> <dtml-var "_['sequence-item']"> <dtml-in "_.range(999)"> <dtml-var "_['sequence-item']"> </dtml-in> </dtml-in> <!--#var standard_html_footer-->
And User B tries to access this page: <html><head> </head> <body> This is test </body> </html>
User B is prevented from accessing his page until User A's page returns.
Please help ASAP
Dan
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
participants (1)
-
Marcus Collins