Difference in active/non active objects distribution in caches of zserver-threads between Plone 3/Plone 4

Fred van Dijk <f.van.dijk-1kr/[email protected]>
Newsgroups gmane.comp.web.zope.plone.devel
Message-ID <[email protected]>
Hello,

Over the years I've read quite some email threads and pages on optimising, selecting 'the right' zodb-cache-size value. That's not what this question is about though ;-)  I noticed a difference between Plone 3/ Zope 2.10 and Plone 4/Zope 2.13 when looking at the Cache Parameters in the ZMI after a medium site has been running for at least a few days. 

When I set a zodb-cache-size of 20000 , this will be listed as "Target number of objects in memory per cache 20000" and after the caches saturate, every thread will grow eventually towards the 20000, where the different threads are 2000-3000. For example it could look like this with zserver-threads set to 3.

active	total active & non active
19103	40465
17411	31655
18921	31582

With another high volume site, all threads will quite soon max out to the set zodb-cache-size. 

In Plone 4/Zope 2.13 this looks a bit different, for another medium site. 

Active	Total active & non active
4886	10294
18200	67720
1507	3298

It seems that one thread is 'preferred' and gets most of the traffic and fills up its cache, where thread 2 and 3 are barely used, at least looking at the cache values. I have already ruled out load balancer queuing (for example having maxconn 2 in haproxy) & load balancing, with a load balanced setup with 2 or three zeoclients each zeoclient shows the same distribution, disabling  other backends and setting maxconn to 6 (allow 6 simultaneous requets to the backend) in haproxy doesn't change anything either. 

zodb-cache-size-bytes has been turned off. I had this enabled for a site, saw these numbers and my first hunch was that the byte limiting was the culprit, looking back at email threads with claims that this feature should or should never have worked correctly. Increasing zserver-threads in Plone 4 to say 6 only lists more thread caches that are not used, 200-500 objects active at most. 

Has the Zope 2.13 server been optimised to always prefer the hottest thread and thus fill its cache or am I just not having enough simultaneous traffic to these sites to fully load all threads (and is Plone 4 that much faster, go go marketeers)? Or maybe I am reading the numbers incorrectly? Do others also see these values with high/low volume sites in Plone 4, compared to Plone 3 sites?

With kind regards,

Fred van Dijk
--
Zest Software
Hoefsmidstraat 41
3194 AA Hoogvliet
Tel: 010-2959251
"Solid & Stimulating"


------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.