0

我有一个应用程序,我正在处理文件中的数千条记录,并使用 JCS 库将它们存储在缓存 (LRU) 中。我为它创建了两个区域,因为记录被处理了两次(由于某些业务需求)。

我注意到从 region- firstCache处理记录的速度比 region secondCache慢得多。但是,配置没有区别,只是在第一次处理时要缓存的记录数更多,所以我相应地设置了 maxObjects。

首先使用大小为 10 的线程池从 firstCache 区域处理记录,一旦完成,然后处理 secondCache 区域记录(线程池大小再次为 10)。

请提出缓存记录处理速度较慢的原因可能是什么?我应该在哪里寻找根本原因?

请在下面找到配置:

 DEFAULT CACHE REGION
jcs.default=DC
jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
jcs.default.cacheattributes.MaxObjects=5000
jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
jcs.default.cacheattributes.UseMemoryShrinker=false
jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=2678400
jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
jcs.default.elementattributes=org.apache.jcs.engine.ElementAttributes
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.MaxLifeSeconds=2678400
jcs.default.elementattributes.IdleTime=1800
jcs.default.elementattributes.IsSpool=true
jcs.default.elementattributes.IsRemote=true
jcs.default.elementattributes.IsLateral=true
 
# PRE-DEFINED CACHE REGIONS
jcs.region.secondCache=DC
jcs.region.secondCache.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
jcs.region.secondCache.cacheattributes.MaxObjects=5000
jcs.region.secondCache.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.secondCache.cacheattributes.UseMemoryShrinker=false
jcs.region.secondCache.cacheattributes.MaxMemoryIdleTimeSeconds=2678400
jcs.region.secondCache.cacheattributes.ShrinkerIntervalSeconds=60
jcs.region.secondCache.cacheattributes.MaxSpoolPerRun=500
jcs.region.secondCache.elementattributes=org.apache.jcs.engine.ElementAttributes
jcs.region.secondCache.elementattributes.IsEternal=false
jcs.region.secondCache.elementattributes.MaxLifeSeconds=2678400

# PRE-DEFINED CACHE REGIONS
jcs.region.firstCache=DC
jcs.region.firstCache.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
jcs.region.firstCache.cacheattributes.MaxObjects=30000
jcs.region.firstCache.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.firstCache.cacheattributes.UseMemoryShrinker=false
jcs.region.firstCache.cacheattributes.MaxMemoryIdleTimeSeconds=2678400
jcs.region.firstCache.cacheattributes.ShrinkerIntervalSeconds=60
jcs.region.firstCache.cacheattributes.MaxSpoolPerRun=500
jcs.region.firstCache.elementattributes=org.apache.jcs.engine.ElementAttributes
jcs.region.firstCache.elementattributes.IsEternal=false
jcs.region.firstCache.elementattributes.MaxLifeSeconds=2678400

jcs.auxiliary.DC=org.apache.commons.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory
jcs.auxiliary.DC.attributes=org.apache.commons.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes
jcs.auxiliary.DC.attributes.DiskPath=/tmp
4

0 回答 0