> > > Ard Schrijvers wrote: > >> On 7/13/06, Andreas Hartmann <[EMAIL PROTECTED]> wrote: > >> > >>> ...<parameter name="overflow-to-disk" value="false"/> > >>> > >>> Is there a special reason why this is set to "false"?... > >> It's because in that case we only want a short-term cache. > There are more > >> parameters which might help, they are read by the > >> > src/java/org/apache/cocoon/components/store/impl/EHDefaultStor > e.java class > >> IIUC. > > > > Beside the fact that I am (have to begin but is on my > agenda) going to write > > a best practice on these kind of things, I will try some to > explain some > > stuff here in short: > > Ard, thanks for your comprehensive answers! > I'll take a closer look at your recommendations. > > Will you announce your how-to on the list?
Yes I will. I am though not yet sure in what kind of form I will write it (wiki or document). I am also quite occupied but try to find time to work on it Regards Ard > > -- Andreas > > > > > First of all, make sure you have the EHDefaultStore.java > from the trunk. This > > one has some important patches. > > > > Now, a common configuration for your store would be: > > > > <store logger="core.store"> <parameter name="maxobjects" > value="1000"/> > > <parameter name="eternal" value="false"/> <parameter > name="timeToLiveSeconds" > > value="0"/> <!-- 1 day --> <parameter name="timeToIdleSeconds" > > value="86400"/> <parameter name="overflow-to-disk" > value="true"/> <parameter > > name="diskpersistent" value="true"/> </store> > > > > This means, a maximum of 1000 object (keys+response) are > kept in memory. > > Since eternal is false, timeToLiveSeconds and > timeToIdleSeconds are taken > > into account. Is timeToLiveSeconds < timeToIdleSeconds, then only > > timeToIdleSeconds matters. In the configuration above, > after 1 day of not > > being used, the cachekey is removed from cache. > > > > So, when overflow-to-disk is set to true, and you don't > have eternal false > > and timeToIdleSeconds > 0, then ones a cachekey is in > memory/disk, it will > > never be removed (apart from the StoreJanitor which when > low on memory lets > > the EHDefaultStore free its cache ---though this couldn't > be implemented > > worse because it just starts removing cachekeys/reponses > from index 0 (which > > are commonly the most important ones) instead of removing > them according the > > correct eviction policy. I have posted already to the > ehcache mailinglist how > > to find the LRU one, but not yet got an answer--- and I > assume you dont use > > eventAware cache actively removing keys ) > > > > So, it is very well possible, to let your cache grow > INFINITELY large. > > Setting timeToIdleSeconds is important. Certainly when for > example you have > > cachekeys including current date (though, watch out with > these kind of cache > > practices because your cache could grow very large) > > > > diskpersistent is added to be configurable since short, but > does not really > > matter. It only indicates persistent cache between JVM > restarts (used to be > > default true). > > > > If you are working with a cocoon versions < 2.1.9, and you > dont want to > > switch, but want to use the latest EHDefaultStore, just add the > > EHDefaultStore.java from trunk in your > > src/java/country/yourcomapany/cocoon..., and add to user.roles: > > > > <role name="org.apache.excalibur.store.Store" shorthand="store" > > > default-class="country.yourcompany.cocoon.components.store.imp > l.EHDefaultStore" > > /> > > > > Now, just check it out configuring timeToIdleSeconds to 5 > secs or something. > > Then look at the StatusGenerator, and you will see > cachekeys being dumped > > after 5 sec (by the way, dont refresh the StatusGenerator > to often then, > > because looking at the StatusGenerator uses the keys, > implying they are not > > idle for another 5 sec... :-) ) > > > > Hope things are little clearer... > > > > Regards Ard > > > >> -Bertrand > >> > >> > -------------------------------------------------------------- > ------- To > >> unsubscribe, e-mail: [EMAIL PROTECTED] > For additional > >> commands, e-mail: [EMAIL PROTECTED] > >> > >> > > > -- > Andreas Hartmann > Wyona Inc. - Open Source Content Management - Apache Lenya > http://www.wyona.com http://lenya.apache.org > [EMAIL PROTECTED] [EMAIL PROTECTED] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
