Zope config : cache-size and Zeo
Hi, I would like to know if, for a Zeo Storage, increasing the <zodb_db></zodb_db> cache-size param value (per connection target number of cached objects) is useful, specially if I already have a high cache-size param value in the <zeoclient></zeoclient> subsection (global Zeo objects target cache size in bytes). Thanks. Pascal ********************************************************************** 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 **********************************************************************
[Pascal Peregrina]
I would like to know if, for a Zeo Storage, increasing the <zodb_db></zodb_db> cache-size param value (per connection target number of cached objects) is useful, specially if I already have a high cache-size param value in the <zeoclient></zeoclient> subsection (global Zeo objects target cache size in bytes).
These are two distinct caches. The "ZODB cache" applies to every way of using ZODB, and is an in-memory cache associated with a Connection. The least-recently used objects are booted out at transaction boundaries, trying to reduce the number of objects in the in-memory cache to the number you specified. The ZEO client cache is a second-level, disk-based cache, specific to ZEO. It only sees requests for objects _not_ satisfied by the in-memory Connection cache. Of course it's faster to satisfy a reference from memory than from any disk-based cache. Whether it will help you to boost the number of objects in the in-memory cache depends on many details you haven't revealed (and may not even know). Try it. A downside is that the RAM needed for the in-memory cache will increase, taking away RAM available for other uses. Do too much of that, and you'll start swapping out RAM to disk. The default sizes for the in-memory Connection cache and the ZEO disk-based cache were set years ago, when "typical" RAM and disk sizes were much smaller than they are now. It will probably help to boost both -- up to some point that depends on details of your HW and object reference patterns.
On the Debug Information screen in Control Panel, we occasionally get huge gobs of text that looks like the entire REQUEST/RESPONSE objects showing up. I am assuming this is being seen as the page header and this is being registered in squid and is exceeding the request_header_max_size. I can increase this but would like to know where our process if breaking down to expose this mess. Thanks
Pascal Peregrina wrote at 2005-3-8 17:40 +0100:
I would like to know if, for a Zeo Storage, increasing the <zodb_db></zodb_db> cache-size param value (per connection target number of cached objects)
This controls a cache in RAM containing Python objects.
is useful, specially if I already have a high cache-size param value in the <zeoclient></zeoclient> subsection (global Zeo objects target cache size in bytes).
This controls a cache on disk containing object states (as pickles). As disks are slower than RAM and as unpickling can be expensive, you may easily guess the answer to your question... -- Dieter
participants (4)
-
Allen Schmidt -
Dieter Maurer -
Pascal Peregrina -
Tim Peters