显然,正确的答案是“进行基准测试并找出”,但出于互联网精神,我希望有人已经为我完成了这项工作。
我真的很喜欢Guava的缓存库用于Web服务。 然而,他们的文档在这一点上相当模糊。
recordStats
public CacheBuilder<K,V> recordStats()
启用缓存操作期间累积CacheStats
。 如果没有此选项,则Cache.stats()
将对所有统计信息返回零。 请注意,记录统计数据需要执行每个操作的簿记,因此会对缓存操作产生性能影响。自从:
12.0(以前,自动收集统计信息)
来自CacheBuilder.recordStats()
的JavaDocs。
另一方面,当调用
Cache.stats()
时可能会有一些惩罚。我计划通过Codahale MetricsRegistry将统计信息公开到持久记录,并传输到Graphite服务器。最终结果是统计信息会被定期检索,因此如果检索时存在任何阻塞行为,那可能就不太好了。