[Zope] Need Caching advice for CMF site ...
Toby Dickenson
tdickenson@geminidataloggers.com
Tue, 22 Jan 2002 10:03:04 +0000
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.