5

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

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

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

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

BigMemory 是否还有其他一些优化?有没有人遇到过任何比较这两种方法的实验?

4

1 回答 1

6

以下是兵马俑论坛上对这个问题的回答的摘录。

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

于 2011-03-14T10:47:23.580 回答