【问题标题】:EhCache BigMemory vs Diskstore on RAM diskEhCache BigMemory 与 RAM 磁盘上的 Diskstore
【发布时间】:2011-07-12 15:30:04
【问题描述】:

Enterprise Ehcache 的 BigMemory 与 RAM 盘使用的 Ehcache 社区版的 Diskstore 相比,性能如何?

Big Memory 允许缓存在对象堆之外使用额外类型的内存存储,以减少 GC 的开销,前提是我们使用了对象堆中的所有 RAM。序列化和反序列化确实发生在从这个堆外存储中放入和取出时。

同样,Diskstore 也是二级缓存,将序列化的对象存储在磁盘上。

在上面的链接中提到堆外存储比磁盘存储快两个数量级。如果我将 Diskstore 配置为将数据存储在 RAM Disk 中会发生什么? BigMemory 是否仍具有显着的性能优势?

BigMemory 是否进行了其他一些优化?有没有人遇到过比较这两种方法的此类实验?

【问题讨论】:

    标签: java performance caching ehcache ramdisk


    【解决方案1】:

    以下是terracotta forum上对该问题的回答的摘录。

    “我希望您在使用开源(社区版)Ehcache 磁盘存储时面临的三个大问题是:首先,在开源中,只有值存储在磁盘上——键和元数据将键映射到值仍然存储在堆中(BigMemory 并非如此)。这意味着堆仍然是缓存大小的限制因素。其次,开源磁盘存储被设计为由单个(通常是旋转磁盘)支持 - 尽管有些人现在使用 SSD 驱动器),这意味着后端的并发(尤其是在写入方面)比 Enterprise BigMemory 低,因为瓶颈预计在硬件级别。第三,开源磁盘存储执行的序列化空间效率较低所以序列化的值有更大的开销。”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-27
      • 1970-01-01
      • 1970-01-01
      • 2011-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-28
      相关资源
      最近更新 更多