Re: [Zope] Tweaking Zope DB- and connection parameters
Apache is set to "MaxClients 50" Zope.conf has set "zserver-threads 5" and cache-size 500 pool-size 25 ... I will note that a cache-size of 500 is ridiculously low. (Even though old versions of Zope shipped configured like this!) It needs to be at least 5000. Frankly, 5 wouldn't be bad for a large, busy site. To optimize your cache-size param, watch the ZODB read/write graph, and keep increasing the cache-size until (a) there's no more effect on reads or (b) you run into memory trouble. Of course, the optimization will slip a little as site usage patterns change. --jcc -- "Building Websites with Plone" http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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 )
RE: [Zope] Tweaking Zope DB- and connection parameters
Ahh, this clarifies so far, thanks. But about how many zserver-threads would one need for approx. 50 concurrent connections? /Carsten >-Original Message- >From: Pascal Peregrina [mailto:[EMAIL PROTECTED] >Sent: Tuesday, June 28, 2005 11:54 AM >To: Germer, Carsten; zope list user >Subject: RE: [Zope] Tweaking Zope DB- and connection parameters > > >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 : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 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 > >cache-size 500 >pool-size 25 >... > > >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: [EMAIL PROTECTED] > Germany >-
RE: [Zope] Tweaking Zope DB- and connection parameters
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 : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 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 cache-size 500 pool-size 25 ... 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-1661Notkestr. 85 web: http://wof.desy.de22607 Hamburg e-mail: [EMAIL PROTECTED] Germany ___ 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 ) ** 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 **
[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 cache-size 500 pool-size 25 ... 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-1661Notkestr. 85 web: http://wof.desy.de22607 Hamburg e-mail: [EMAIL PROTECTED] Germany ___ 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 )