谁用过Hazelcast?集群下性能跟ehcache相比如何?

IT熊猫 发布于 2014/12/03 17:35
阅读 2K+
收藏 2

谁用过Hazelcast?集群下性能跟ehcache相比如何?(10台以上服务器的缓存共享模式)

加载中
0
横云断岭
http://blog.csdn.net/hengyunabc/article/details/18514563   hazelcast比较坑爹
IT熊猫
IT熊猫
多谢,不过感觉写的有点片面。任何一个开源产品都会存在一些问题,一般都需要自己去做一些优化和修改。
1
bwzhang2015
bwzhang2015

楼主的源头理解的确如此,不过hazelcast在3.5的版本上做了很多的修改和提升。此外这样的基准测试最好参考hazelcast在github下的hazelcast-jmh工程,里面得到的数据(包括方式)要更准确一些。作为我个人,我在公司的内部平台搭建的是基于hazelcast的img应用,hz3.3.5以及hz3.4.1+后的版本已经越来越稳定和优异。

0
IT熊猫
IT熊猫

看来没什么人用过。

我自己花了半天时间对Hazelcast和ehcache做了下对比,并进行了简单的性能测试:

4线程发送、4线程接收处理,发送和接收分别在不同的机器上,局域网内10/100M网络,集群异步缓存共享模式下保存400,000个map共享数据。

Hazelcast:用时20秒,TPS:20,000

Ehcache:用时8秒,TPS:50,000

结果明显是ehcache要快一些。

两者缓存共享的机制:

hazelcast是通过建立独立的TCP通道,将数据通过Binary的方式进行缓存的复制。ehcache是通过建立RMI共享通道(其实底层也是TCPSocket)处理缓存数据的复制。Hazelcast支持多种缓存共享模型,支持的功能更多。ehcache相对来说功能单一点,更加轻量级。

为什么ehcache更快?

通过查看源码,发现ehcache发送数据的时候会根据一定时间内队列中的数据量来进行传输,并发大的情况下一次性传输的数据包size更大,而Hazelcast是一个一个包的发送,增加了发送的频率,这样并发大的时候效率会受到一定的影响,但是更加灵活。就像我们拷贝文件,如果是拷贝压缩文件明显比拷贝一个文件夹(文件夹要迭代一个一个的拷贝)要快。所以ehcache并发大的情况下效率更高一些。

IT熊猫
IT熊猫
回复 @JerryLin : core, 只用了它的集群功能
JerryLin
JerryLin
用的ehcache还是ehcache-core?
0
w_p_
w_p_
不明觉厉
0
char1st
char1st

如果没有其他语言直接调用hazelcast的需求,最好是不要用客户端。直接用HazelcastInstance来读写你会发现块很多。

IT熊猫
IT熊猫
赞同
0
朱宏青
朱宏青
暂且没见Hazelcast有什么特别的地方
0
0_0-0-0_0
0_0-0-0_0
把有同步机制的和没有同步机制的放在一起比,是不合适的
返回顶部
顶部