[Zope] Conceptual problem with Zope 2.0.1 threads

Tony McDonald tony.mcdonald@ncl.ac.uk
Sun, 10 Oct 1999 11:39:11 +0100


At 12:53 pm -0400 8/10/99, Michel Pelletier wrote:

Thanks for the reply Michel,
> > With our Apache server we have over 200 processes running, and I was
>> wondering about the utility of upping the thread count to a higher
>> (much higher?) number.
>
>Over 200 Apache processes?  That's alot.  That's like millions of hits
>per day capacity if your hardware can handle it.  You may want to
>experiment with lowering the number of apaches or increading the number
>of zope threads.

I should elaborate - that runs a lot more http services than just my 
Zope systems. There's about 20 virtual sites, and a lot of Perl stuff 
being used on them. We also have times when *a lot* of students hit 
the server practically simultaneously - say 100 plus. It's easier for 
us to keep the processes running continually, rather than to keep 
changing httpd.conf and restarting the server.

> >
>> As an example, can anyone tell me how many threads the main
>> Zope site use?
>
>Six.

Six! - I'm a bit baffled.

I have this as my start script
#! /bin/sh
reldir=`dirname $0`
PYTHONHOME=`cd $reldir; pwd`
export PYTHONHOME
exec /home/nnle/Zope-2.0.0-solaris-2.6-sparc/bin/python \
      $PYTHONHOME/z2.py -t 32 -p 'Zope.cgi' \
#     -D "$@"
         "$@"

and my z2.py script has this;
# The size of the thread pool, if ZODB3 is used.
NUMBER_OF_THREADS=64

Yet, when I do
% ps -efL -f | grep py | grep solaris
I get this (the L flag under solaris shows threads).
     nnle  3208  3207     1   -    13  0   Oct 08 ?        0:28 
/home/nnle/Zope-2.0.0-solaris-2.6-sparc/bin/python z2.py -p Zope.cgi
     nnle  3208  3207     2   -    13  0   Oct 08 ?        0:00 
/home/nnle/Zope-2.0.0-solaris-2.6-sparc/bin/python z2.py -p Zope.cgi
     nnle  3208  3207     3   -    13  0   Oct 08 ?        0:32 
/home/nnle/Zope-2.0.0-solaris-2.6-sparc/bin/python z2.py -p Zope.cgi
     nnle  3208  3207     4   -    13  0   Oct 08 ?        0:46 
/home/nnle/Zope-2.0.0-solaris-2.6-sparc/bin/python z2.py -p Zope.cgi
     nnle  3208  3207     5   -    13  0   Oct 08 ?        0:45 
/home/nnle/Zope-2.0.0-solaris-2.6-sparc/bin/python z2.py -p Zope.cgi
     nnle  3208  3207     6   -    13  0   Oct 08 ?        0:45 
/home/nnle/Zope-2.0.0-solaris-2.6-sparc/bin/python z2.py -p Zope.cgi
     nnle  3208  3207    10   -    13  0 11:58:30 ?        0:37 
/home/nnle/Zope-2.0.0-solaris-2.6-sparc/bin/python z2.py -p Zope.cgi
     nnle  3208  3207     9   -    13  0   Oct 08 ?        0:03 
/home/nnle/Zope-2.0.0-solaris-2.6-sparc/bin/python z2.py -p Zope.cgi
     nnle  3208  3207    11   -    13  0 11:58:30 ?        0:22 
/home/nnle/Zope-2.0.0-solaris-2.6-sparc/bin/python z2.py -p Zope.cgi
     nnle  3208  3207    12   -    13  0 11:58:30 ?        0:27 
/home/nnle/Zope-2.0.0-solaris-2.6-sparc/bin/python z2.py -p Zope.cgi
     nnle  3208  3207    13   -    13  0 11:58:31 ?        0:00 
/home/nnle/Zope-2.0.0-solaris-2.6-sparc/bin/python z2.py -p Zope.cgi
     nnle  3208  3207    14   -    13  0 11:58:42 ?        0:11 
/home/nnle/Zope-2.0.0-solaris-2.6-sparc/bin/python z2.py -p Zope.cgi
     nnle  3208  3207    15   -    13  0 11:58:42 ?        0:00 
/home/nnle/Zope-2.0.0-solaris-2.6-sparc/bin/python z2.py -p Zope.cgi
     nnle  3207     1     1   -     4  0   Oct 08 ?        0:00 
/home/nnle/Zope-2.0.0-solaris-2.6-sparc/bin/python z2.py -p Zope.cgi
     nnle  3207     1     2   -     4  0   Oct 08 ?        0:00 
/home/nnle/Zope-2.0.0-solaris-2.6-sparc/bin/python z2.py -p Zope.cgi
     nnle  3207     1     3   -     4  0   Oct 08 ?        0:00 
/home/nnle/Zope-2.0.0-solaris-2.6-sparc/bin/python z2.py -p Zope.cgi
     nnle  3207     1     4   -     4  0   Oct 08 ?        0:00 
/home/nnle/Zope-2.0.0-solaris-2.6-sparc/bin/python z2.py -p Zope.cgi

ie not 64, not even 32.
I figure I'm being dense here - I'm pretty ok with Apache processes 
waiting for http requests, but the Zope system is different.

has the list any thoughts on this? Obviously, the reason I want to do 
this is to increase the performance of our Zope system. I realise 
it's not going to get to Apache bog-standard static html serving 
rates, but I do want to 'push the envelope' (unfortunately, we can't 
afford ZEO ... yet).
cheers
tone.
------
Dr Tony McDonald,  FMCC, Networked Learning Environments Project 
http://nle.ncl.ac.uk/
The Medical School, Newcastle University Tel: +44 191 222 5888
Fingerprint: 3450 876D FA41 B926 D3DD  F8C3 F2D0 C3B9 8B38 18A2