使用Ehcache ,在Java app工作2.5天后,我得到了这样的统计数据
cacheHits: 31185262, approximate 131 per sec
cacheMisses: 4642979, approximate 19 per sec
evictedCount: 4106931, approximate 17 per sec最后一个小时看起来
cacheHits: 60 per sec
cacheMisses: 57 per sec
evictedCount: 53 per seccache=400000的大小,项永不过期。
为什么会发生这种情况?
发布于 2010-02-26 05:33:07
我想我找到原因了。
不久前,我将ehcache从1.6.xx升级到1.7.xx。我没有注意到他们改变了驱逐算法的实现。现在它的工作方式如下:选择随机的15个键(!,他们使用了一些启发式方法,但它仍然是随机的),然后找到相应的元素,从选定的元素中选择最近使用的元素。(在查看MemoryStore类之后,您可以自己弄清楚)。在那之后,它的效果非常非常糟糕也就不足为奇了。
好消息是,您可以通过设置属性"net.sf.ehcache.use.classic.lru"=true来使用旧的实现。在我这么做之后,我的问题就消失了
发布于 2010-02-22 21:08:54
你可以看看其他的。另请参见。
https://stackoverflow.com/questions/2310818
复制相似问题