[Zope] Tweaking Zope DB- and connection parameters

Pascal Peregrina Pperegrina at Lastminute.com
Tue Jun 28 05:54:07 EDT 2005


zserver-threads and pool-size should be almost the same.

Each HTTP request from Apache to Zope uses a Connection object bound to a
Transaction object.

As each Connection object has its own cache, then if the connection pool
size is much higher than the number of zsever threads, you could end up
using new connections with empty cache when it's not necessary... This will
make the request response time slower (cause the connection will need to get
all objects from ZODB) and will end up using unecessary memory (cause all
connection caches will be caching objects).

I would recommend pool-size 8 if you keep zserver-threads to 5.
(I don't know why pool-size must be a little higher than threads, but the
default configuration is 4 threads and 7 connections, so...)

Then try increasing the cache size, because if you have lots of different
websites, caching 500 objects will probably cause each connection to often
load objects from ZODB (cache miss). To monitor that you can use Control
Panel -> Database Management -> Main -> Cache Parameters
For each connection, if the number of active objects hits your 500 limit,
then it may be a good idea to increase it.
But of course this will depend oh the available memory you have.

Hope this helps.

Pascal



-----Message d'origine-----
De : zope-bounces at zope.org [mailto:zope-bounces at zope.org]De la part de
Germer, Carsten
Envoyé : mardi 28 juin 2005 11:32
À : zope list user
Objet : [Zope] Tweaking Zope DB- and connection parameters


Hello everyone,

I'm trying to figure out what I can set all (I know) Zope Parameters to
to get a good overall performance on our "old" live installation.
We have a new System with upgraded Zope and the like in the making but
untill then I'm trying to keep what is up smooth and stable.

Machine: Dual Pentium with 4Gig Ram running on Suse Linux. Zope 2.7.2
with Python 2.3.4 and ZMS for the Sites. There's a recent Apache 1.3.x
in Front for caching and like 25 Sites running on the system, some very
rarely visited some more loaded.

While running the system with out-of-the-box-parameters at times of high
load the RAM went full, the machine started swapping and spiraling down
so I started to set limits in Apache and Zope. I was mostly just
guessing!

Apache is set to "MaxClients 50"
Zope.conf has set "zserver-threads 5" and 
<zodb_db main>
    cache-size 500
    pool-size 25
...
</zodb_db>

With this settings the machine tops at load around 1.8 - 2 and no
swapping takes place *puuh* but still users sometimes, too often for
users taste, get to wait a minute and longer for their page. For me it
tastes like a garbage collection or whatnot because after 5-20 minutes
everything is fine again for an hour or two...

- Apaches "MaxClients" is set for general limit
- zserver-threads: How many ppl, approx., can connect with this set to
5? Would be good to synchronize this with the apache settings somehow?
- cache-size: This is per DB connection (pool-size) as I have learned, I
did set this down to limit memory usage
- pool-size: number of concurrent DB-Connections as I learned. Does
every concurrent connection have to have it's own db-connection or do N
zserver-threads share one?

What I'm looking for is general advice how these parameters work and can
be set for best cooperation. Or if there are other Params that I have
missed yet ;)

E.g. "every zserver-thread uses one db-connection and can server one
user so for 50 concurrent users you have to set everything to 50 and
tweak cache-size according to 'Cache Parameters' in the Zope config and
your RAM-load behaves" Which is nonsense I bet but something like that
would help me great time.

Thanks in Advance for any Help! /Carsten

------------------------------------------------------------------------
Carsten Germer         Deutsches Elektronen Synchrotron (Web-Office, IT)
phone:  +49-40-8998-1661                                    Notkestr. 85
web: http://wof.desy.de                                    22607 Hamburg
e-mail: carsten.germer at desy.de                                   Germany
------------------------------------------------------------------------
_______________________________________________
Zope maillist  -  Zope at 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 )


**********************************************************************
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
the system manager.

This footnote also confirms that this email message has been swept by
MIMEsweeper for the presence of computer viruses.

www.mimesweeper.com
**********************************************************************



More information about the Zope mailing list