On Tuesday 22 January 2002 9:13 am, bak (kedai) wrote:
On Tuesday 22 January 2002 02:50 am, Toby Dickenson wrote:
On Mon, 21 Jan 2002 12:20:41 -0600, Lynn Walton <waltonl@franklin.edu>
Total number of objects in the database 20518 Total number of objects in all caches 2100 Target Size 400 Target max time between accesses 60
Can someone point me to understanding if this level of caching stops the client from making the trip to the ZODB on the ZEO Server.
That stops Zope needing to talk to its storage (FileStorage or ZEO ClientStorage), then unpickle the result, for every object access.
The http client is not involved in this level.
ps interesting numbers. How many publisher threads do you have? (thats -T on the command line)
what's interesting? when i looked at thenumbers, it's like staring at the wall :P
The target size of 400 applies to each ZODB object cache. Each zope instance has more than one cache; generally its one per publisher thread (-T), plus a few more if you are using Sessions. The default -T value is 4. That is probably more than enough to support 3 clients, so I guess Zope is only using 2 of those threads (exceptions would be if some of those clients are a high-concurrency system stress tool, or if the site has some custom methods that take a long time to render) If Lynn is using that default and no sessions then each cache contains somewhere between 2100/4 = 525 objects (if all threads/caches are used) and 2100/2 = 1050 objects (following my guess that only 2 threads/caches are used). Either way, that is quite a bit more than the target of 400. The ZODB cache does behave that way, but only under reasonable memory pressure. I define memory pressure as objects touched per transaction (or http request). I am suprised that CMF involves sufficient memory pressure. I am currently looking at redesigning the ZODB cache to have a stiffer response to memory pressures.... hence my interest.