jakarta-jcs-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aaron Smuts <asm...@yahoo.com>
Subject Re: wrong key count in indexed key cache ??
Date Wed, 13 Feb 2008 20:06:31 GMT
You probably simply put them in the cache faster than
they could be written to disk and you overflowed the
purgatory buffer.  Setting purgatory to 0 does not
make puts synchronous.  Purgatory is simply a buffer. 
1,000 is fairly small if you are going to nail the
cache with 10k items.

Also, by default, the cache will only spend 1 minute
on shutdown trying to write items to disk.  You'd have
to change this setting if you expect 10k items to be
persisted.  

There's no bug here.  Perhaps another config option is
in order. . . . 

Aaron


--- Ron Zohar <rzo@gmx.de> wrote:

> Hello,
> 
> I am currently evaluation JCS.
> I am adding 10.000.000 objects to the cache. On
> program exit and restart only approx 300.000 keys
> are written/read from the keys-file.
> Is this a bug or do I have to change something in
> the configuration ?
> I was expecting to use the disk cache as an
> (unreliable) object store, to be able to retrieve
> all objects after restart of the JVM.
> 
> Further question: In case MaxPurgatorySize == 0, no
> objects are written to the disk cache. I was
> expecting that objects will be written immediately
> to  disk.
> 
> Concerning the file: what do you think of using a
> memory mapped file. would that be more efficient in
> case of large disk caches ?
> 
> # DEFAULT CACHE REGION
> jcs.default=DC
>
jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
> jcs.default.cacheattributes.MaxObjects=1000
>
jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
> jcs.default.cacheattributes.UseMemoryShrinker=false
>
jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600
>
jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
>
jcs.default.elementattributes=org.apache.jcs.engine.ElementAttributes
> jcs.default.elementattributes.IsEternal=false
> jcs.default.elementattributes.MaxLifeSeconds=21600
> jcs.default.elementattributes.IdleTime=1800
> jcs.default.elementattributes.IsSpool=true
> jcs.default.elementattributes.IsRemote=true
> jcs.default.elementattributes.IsLateral=true
> 
> 
> #Auxiliary CACHE (disk cache)
>
jcs.auxiliary.DC=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory
>
jcs.auxiliary.DC.attributes=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes
> jcs.auxiliary.DC.attributes.DiskPath=e:\jcscache
> jcs.auxiliary.DC.attributes.MaxKeySize=10000000
> jcs.auxiliary.DC.attributes.MaxPurgatorySize=1000
> 
> 
> 
> jcs.region.testCache=DC
>
jcs.region.testCache.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
> jcs.region.testCache.cacheattributes.MaxObjects=0
>
jcs.region.testCache.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
>
jcs.region.testCache.cacheattributes.UseMemoryShrinker=false
>
jcs.region.testCache.cacheattributes.DiskUsagePattern=UPDATE
>
jcs.region.testCache.elementattributes=org.apache.jcs.engine.ElementAttributes
>
jcs.region.testCache.elementattributes.IsEternal=true
>
jcs.region.testCache.elementattributes.MaxLifeSeconds=-1
> jcs.region.testCache.elementattributes.IdleTime=-1
> jcs.region.testCache.elementattributes.IsSpool=true
>
jcs.region.testCache.elementattributes.IsRemote=false
>
jcs.region.testCache.elementattributes.IsLateral=false
> 
> 
> 	            try
> 	            {
> 	                cache =  JCS.getInstance(
> cacheRegionName );
> 	            }
> 	            catch ( CacheException e )
> 	            {
> 	            	e.printStackTrace();
> 	            }
> 	            for (int i=0; i<10000000; i++)
> 	            {
> 	            City city = new City();
> 	            try
> 	            {
> 	                    cache.put( ""+i, city );
> 	            }
> 	            catch ( Exception e )
> 	            {
> 	            	e.printStackTrace();
> 	            }
> 	            if (i % 4000 == 0)
> 	            {
>                     // yield so disk thread can get
> the cpu
>             	    Thread.yield();
>                    
> System.out.println(cache.getStats());
> 	            }
> 	            }
> 
> 
> - Ron
> http://sourceforge.net/projects/ajax4jmx/
> 
> 
> -- 
> Ist Ihr Browser Vista-kompatibel? Jetzt die neuesten
> 
> Browser-Versionen downloaden:
> http://www.gmx.net/de/go/browser
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> jcs-users-unsubscribe@jakarta.apache.org
> For additional commands, e-mail:
> jcs-users-help@jakarta.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: jcs-users-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jcs-users-help@jakarta.apache.org


Mime
View raw message