Re: Performance issues - excessive object loads
On Tue, 8 Jun 2004 10:04:05 -0400 "Gerry Kirk" <gerry@dioceseonline.com> wrote:
Generally increasing the cache size is the most effective way to reduce loads. Try increasing the cache to say 15000 (assuming you have enough RAM on the server) and see how that affects the load rate. 2000 is a relatively low setting, but that really depends on the size of the ZODB. How many objects are in your ZODB? Are you using ZEO? (I assume not)
showing 176000 objects
A cache size of 2000 only allows 1% of the objects to be cached at once. 15000 is much better (about 8.5%), but you could still go higher if you have the RAM. Since the cache is per-thread, it can sometimes be better to run fewer threads with bigger caches. You could try lowering the number of threads to 2 and doubling the cache size. This may be better than 4 at 15000, but it depends heavily on your application and the load it experiences
I am using ZEO with one ZEO client, running on same server.
I'll try using 15,000 cache setting. This is what I now have in my zope.conf:
<zodb_db main> cache-size 15000 <zeoclient> cache-size 20000000
Try upping the client disk cache size as well. This looks like the default (20MB) which is quite small. I would probably multiply this by 10-30x. An indication for a too small ZEO client cache is many "Cache flip" log messages from Zope. -Casey
-----Original Message----- From: Casey Duncan [mailto:casey@zope.com] Sent: June 8, 2004 10:23 AM To: Gerry Kirk Cc: zope@zope.org Subject: Re: Performance issues - excessive object loads
A cache size of 2000 only allows 1% of the objects to be cached at once. 15000 is much better (about 8.5%), but you could still go higher if you have the RAM.
Thanks - will monitor.
Since the cache is per-thread, it can sometimes be better to run fewer threads with bigger caches. You could try lowering the number of threads to 2 and doubling the cache size. This may be better than 4 at 15000, but it depends heavily on your application and the load it experiences
How do I determine which way to go? What should I monitor?
Try upping the client disk cache size as well. This looks like the default (20MB) which is quite small. I would probably multiply this by 10-30x. An indication for a too small ZEO client cache is many "Cache flip" log messages from Zope.
Yep - cache was flipping once per hour. I multiplied it by 10. Thanks for all your help, Gerry
-Casey
Hi again, I'm getting reports right now that the system is slow. There are a few people doing a lot of editing at the moment. Looking at the activity log, I see in the past hour: Object stores: 12,500 Object loads: 9267 Connections: 679 # objects in db: 182K # objects in mem from all caches: 29K Max # objects per cache: 15K Cache Name Number of objects in memory Number of ghost objects 1 10525 55742 2 3669 12546 3 4589 15934 4 10239 61065 Total 29022 You mentioned it might be better to have two threads with larger caches instead of 4. How do I determine which way to go? I haven't seen any flipping cache messages since June 14 now. Is it possible to have too large a zeo client cache file? Thanks, Gerry
-----Original Message----- From: Casey Duncan [mailto:casey@zope.com] Sent: June 8, 2004 10:23 AM To: Gerry Kirk Cc: zope@zope.org Subject: Re: Performance issues - excessive object loads
On Tue, 8 Jun 2004 10:04:05 -0400 "Gerry Kirk" <gerry@dioceseonline.com> wrote:
Generally increasing the cache size is the most effective way to reduce loads. Try increasing the cache to say 15000 (assuming you have enough RAM on the server) and see how that affects the load rate. 2000 is a relatively low setting, but that really depends on the size of the ZODB. How many objects are in your ZODB? Are you using ZEO? (I assume not)
showing 176000 objects
A cache size of 2000 only allows 1% of the objects to be cached at once. 15000 is much better (about 8.5%), but you could still go higher if you have the RAM.
Since the cache is per-thread, it can sometimes be better to run fewer threads with bigger caches. You could try lowering the number of threads to 2 and doubling the cache size. This may be better than 4 at 15000, but it depends heavily on your application and the load it experiences
I am using ZEO with one ZEO client, running on same server.
I'll try using 15,000 cache setting. This is what I now have in my zope.conf:
<zodb_db main> cache-size 15000 <zeoclient> cache-size 20000000
Try upping the client disk cache size as well. This looks like the default (20MB) which is quite small. I would probably multiply this by 10-30x. An indication for a too small ZEO client cache is many "Cache flip" log messages from Zope.
-Casey
On Thu, Jun 17, 2004 at 10:30:45AM -0400, Gerry Kirk wrote:
I haven't seen any flipping cache messages since June 14 now. Is it possible to have too large a zeo client cache file?
I don't think there's any such thing as too large a zeo client cache file. I would be interested to hear otherwise :-) -- Paul Winkler http://www.slinkp.com
participants (3)
-
Casey Duncan -
Gerry Kirk -
Paul Winkler