基准测试:Apache Ignite仍然领先于Hazelcast

简介:

当在谷歌中搜索Apache Ignite时,发生了一个奇怪的事:Hazelcast的广告跑到了列表的顶部,建议说Hazelcast比Ignite快50%:

要注意的第一个疑点是当你点击链接时,显示的是Hazelcast与一年前发布的Ignite的1.5版本的比较!另外,一段时间内吹嘘自己也是可以的,但是可笑的是这持续了一年而不在页面中更新基准测试结果。 那好,这可能是Hazelcast营销团队的疏忽,既然这样了,那么就有必要帮助他们展示一下Ignite和Hazelcast最新版本的当前状态。

常规测试

对像Apache Ignite或者Hazelcast这样的分布式平台进行测试的最简单方式是,启动一个拥有若干节点的集群然后运行一个客户端进程产生负载再收集测试结果。作为基准,在AWS上准备了一个拥有四台机器/数据节点的集群,然后负载来自一个单一客户端机器(或者说应用)。Yardstick作为测试框架,所有的参数和操作方法如下所示:

根据给定的配置,按照在Amazon上运行Yardstick的说明,可以再现如下数据:

非常明显,在大多数的基本操作中Ignite 1.9.0版本都显著优于Hazelcast 3.8.1版本,部分场景中甚至领先160%。 同时,也可以发现在部分原子操作中,Hazelcast领先Ignite大约4%,老实说,知道Ignite还有性能改进空间非常好,Hazelcast没有让Ignite的性能工程师轻松起来。 然而,发现性能缺陷之后,决定在一个更高的负载下执行同样的测试集,这样会更接近生产场景-负载由8台客户端机器产生(或者说应用)而不是一台客户机,结果令人振奋!下一章中会看到。

高压测试

上面的Yardstick配置只修改了如下的部分:

在客户机数量从1个增加到8个之后,再现了如下的结果:

这是从一台客户机上获取的数据,要想获得一秒内的操作总数,只需要累加即可。从目前这个结果来看,在高负载下,在任何场景的每项测试中Ignite都领先于Hazelcast。 比如,Ignite的ANSI-99 SQL引擎领先Hazelcast的基于谓词的查询引擎200%,而在只有一个客户端的场景中,这个差距只有80%。 甚至,Ignite在先前的atomic-put-get-bs-6场景原子测试中,由落后Hazelcast4%到领先Hazelcast42%。

结论

在产品化时可能总是要决定使用哪个产品,但是一个黄金法则是不要盲目相信厂商提供的官方数据。掌握所有的信息后了解一个产品,然后在自己的场景中进行测试,只有这样,才能知道哪个产品更适合自己。


本文作者:李玉珏

来源:51CTO

相关文章
|
4月前
|
存储 缓存 监控
Java一分钟之-Apache Ignite:分布式内存计算平台
【5月更文挑战第21天】Apache Ignite是一款开源的分布式内存计算平台,涉及内存数据网格、流处理和计算服务。本文关注其常见问题,如数据丢失、分区不均、内存管理和网络延迟。为保证数据一致性,建议使用适当的數據模式和备份策略,实现数据持久化。优化内存配置和监控网络可提升性能与稳定性。提供的Java代码示例展示了如何创建分区缓存并设置备份。正确配置和管理Ignite是构建高可用、高性能应用的关键,持续监控集群状态至关重要。
128 0
|
SQL 存储 大数据
Apache Ignite剖析
1.概述   Apache Ignite和Apache Arrow很类似,属于大数据范畴中的内存分布式管理系统。在《Apache Arrow 内存数据》中介绍了Arrow的相关内容,它统一了大数据领域各个生态系统的数据格式,避免了序列化和反序列化所带来的资源开销(能够节省80%左右的CPU资源)。
7628 0
|
机器学习/深度学习 存储 分布式计算
结合Apache Ignite探索机器学习
Apache Ignite新版本发布,支持机器学习和深度学习!
5990 0
|
缓存 Apache 分布式计算
|
1月前
|
存储 消息中间件 Java
Apache Flink 实践问题之原生TM UI日志问题如何解决
Apache Flink 实践问题之原生TM UI日志问题如何解决
33 1
|
17天前
|
SQL 消息中间件 关系型数据库
Apache Doris Flink Connector 24.0.0 版本正式发布
该版本新增了对 Flink 1.20 的支持,并支持通过 Arrow Flight SQL 高速读取 Doris 中数据。

推荐镜像

更多