Apache Ignite(三):Ignite和Hazelcast性能对比测试

原创
2016/02/12 20:37
阅读数 2.3W

Ignite和Hazelcast性能对比

性能测试基于Ignite 1.5.0-b1版本和Hazelcast 3.6-EA2版本,评估和对比了他们的各种原子化和事务化缓存操作、基于SQL的缓存查询的性能,所获得的结果包括吞吐量,延迟以及基准测试执行过程中测量的各种指标。

硬件环境配置

硬件环境基于AWS EC2,配置如下:

硬件 c4.2*large
CPU 8
RAM 16Gib
OS Ubuntu 14.04

Yardstick配置

节点 1客户端,4服务端
线程 64
备份 1,同步模式
JDK Java 1.7.0_80

无死锁事务(乐观,序列化)

Hazelcast不支持无死锁事务,因此只对比了Ignite的无死锁事务和Hazelcast的悲观事务。

Put基准测试

吞吐量(操作/秒),数值越大表示吞吐量越好

键数量 Ignite Hazelcast 优势
1 66,534 37,069 79%
2 30,523 16,620 83%
6 15,778 8,611 83%
10 12,651 5,871 115%

延迟(毫秒),数值越小表示延迟越低

键数量 Ignite Hazelcast
1 0.96 1.73
2 2.09 3.85
6 4.05 7.43
10 5.06 10.90

详细图表请参照:1个键,2个键,6个键,10个键

Put和Get基准测试

吞吐量(操作/秒),数值越大表示吞吐量越好

键数量 Ignite Hazelcast 优势
1 27,185 16,425 65%
2 23,440 14,022 67%
6 12,900 6,707 92%
10 10,061 4,396 128%

延迟(毫秒),数值越小表示延迟越低

键数量 Ignite Hazelcast
1 2.35 3.89
2 2.81 4.57
6 4.96 9.57
10 6.36 14.61

详细图表请参照:1个键,2个键,6个键,10个键

事务化操作

Put基准测试

吞吐量(操作/秒),数值越大表示吞吐量越好

键数量 Ignite Hazelcast 优势
1 46,310 37,069 24%
2 26,562 16,620 59%
6 11,465 8,611 33%
10 7,866 5,871 34%

延迟(毫秒),数值越小表示延迟越低

键数量 Ignite Hazelcast
1 1.38 1.73
2 2.41 3.85
6 5.58 7.43
10 8.14 10.90

详细图表请参照:1个键,2个键,6个键,10个键

悲观Put和Get基准测试

吞吐量(操作/秒),数值越大表示吞吐量越好

键数量 Ignite Hazelcast 优势
1 21,054 16,425 28%
2 21,768 14,022 55%
6 10,714 6,707 59%
10 7,534 4,396 71%

延迟(毫秒),数值越小表示延迟越低

键数量 Ignite Hazelcast
1 3.04 3.89
2 2.94 4.57
6 5.97 9.57
10 8.50 14.61

详细图表请参照:1个键,2个键,6个键,10个键

乐观Put和Get基准测试

吞吐量(操作/秒),数值越大表示吞吐量越好

键数量 Ignite Hazelcast 优势
1 44,922 27,404 63%
2 21,380 12,854 66%
6 9,763 5,843 67%
10 6,964 3,784 84%

延迟(毫秒),数值越小表示延迟越低

键数量 Ignite Hazelcast
1 1.42 2.34
2 2.99 4.98
6 6.60 10.96
10 9.19 16.94

详细图表请参照:1个键,2个键,6个键,10个键

原子化操作

Put基准测试

吞吐量(操作/秒),数值越大表示吞吐量越好

键数量 Ignite Hazelcast 优势
1 114,063 98,597 15%
2 87,642 77,752 12%
6 60,380 49,322 22%
10 50,583 36,437 38%

延迟(毫秒),数值越小表示延迟越低

键数量 Ignite Hazelcast
1 0.56 0.64
2 0.72 0.82
6 1.0 1.2
10 1.2 1.7

详细图表请参照:1个键,2个键,6个键,10个键

SQL查询基准测试

吞吐量(操作/秒),数值越大表示吞吐量越好

项目 Ignite Hazelcast 优势
SQL查询 76,596 53,765 42%
SQL查询Put 64,156 58,323 10%

延迟(毫秒),数值越小表示延迟越低

键数量 Ignite Hazelcast
1 0.83 1.18
2 0.99 1.09

详细图表请参照:SQL查询,SQL查询Put

所有的测试都是基于Yardstick基准测试框架实现,完整的代码和文档请参照GitHub.

展开阅读全文
打赏
5
27 收藏
分享
加载中
键数量表示什么
2018/08/06 10:00
回复
举报
赶紧性能很一般啊,,,,
2016/12/16 14:48
回复
举报
总数据量5000  1线程  10线程  20线程  50线程  100线程  200线程
写入  2523  10683  12934  14873  14818  15478
读取  2826  11489  16502  20280  23890  23273
批量写入  107992  255103  223714  146413  78679  44034
批量读取  2799  12317  17106  20371  22467  23321
            
总数据量10000  1线程  10线程  20线程  50线程  100线程  200线程
写入  2418  12142  13360  14631  15688  16752
读取  2668  12358  17481  19532  21950  26080
批量写入  134681  375235  313480  258065  143267  81301
批量读取  2766  12424  16980  20190  23023  23785
            
总数据量20000  1线程  10线程  20线程  50线程  100线程  200线程
写入  2480  12995  13900  15986  17827  18313
读取  2730  12998  17891  22259  22266  25673
批量写入  123955  406505  402820  347827  251890  142501
批量读取  2793  12872  18217  20508  22460  24853
            
总数据量50000  1线程  10线程  20线程  50线程  100线程  200线程
写入  2414  13273  14478  16236  17287  19560
读取  2750  13845  18932  22720  24330  23974
批量写入  112196  354359  379795  408497  320411  246914
批量读取  2779  13698  18663  21241  21636  24463
            
总数据量100000  1线程  10线程  20线程  50线程  100线程  200线程
写入  2469  13718  15274  16763  17713  19611
读取  2804  13592  19239  22278  25144  26245
批量写入  108749  331730  367175  391237  383804  32
2016/12/16 14:47
回复
举报
李玉珏博主

引用来自“mini188”的评论

不知道有没有和redis的测试对比呢?
性能不可能比redis好,但功能要强大很多倍
2016/11/04 08:50
回复
举报
不知道有没有和redis的测试对比呢?
2016/11/03 16:59
回复
举报
李玉珏博主

引用来自“翟志军”的评论

不明觉厉

这是官方的测试报告,我只是翻译了一下,从结果看,就是比Hazelcast性能好
2016/02/14 09:12
回复
举报
不明觉厉
2016/02/14 09:00
回复
举报
更多评论
打赏
7 评论
27 收藏
5
分享
返回顶部
顶部