针对由 Hazelcast 的CEO,Greg Luck先生撰写的一篇有煽动性的博客,指责 Apache Ignite 社区"伪造"测试结果,该博客引发了一些混乱,我觉得我有必要澄清一下。
老实说,对于从Hazelcast看到这篇博客,我们感到非常惊讶。在进行如此粗暴的指责之前,Luck先生至少应该积极地与Ignite社区或者GridGain团队联系吧?总的前提是,有人为一个开源项目进行一个开放的测试,然后在全世界面前"故意"造假,这个看起来是不是很傻?
我也应该提到,通过Hazelcast的用户组邮件列表,Ignite社区积极地与他们联系,发布了测试结果及其代码,然后希望Hazelcast团队能审查并且提供反馈。但是Luck先生选择了从Hazelcast的公共邮件列表中删除了该邮件并且做了一个批注:
我们认为在我们的邮件列表中提交你们的漂亮数字是不合适的。我们打算删除你的邮件,请把他们放在你们自己的邮件列表和网站上。从一个公共的邮件列表中删除一封邮件只是简单地因为你不喜欢他的内容?这种粗暴的行为清楚地表明了一个商业公司和一个Apache项目之间的实质性不同。
不用说,在看过Hazelcast的博客之后,我们重新进行了所有的测试并且在亚马逊AWS上再次确认了所有的结果,在大多数测试中Ignite都要快至少50%到100%,下面是部分结果:
无死锁事务(乐观, 序列化)Hazelcast不支持无死锁事务, 因此我们拿Ignite的无死锁事务和Hazelcast的悲观事务进行对比。
这些结果, 还有很多其他的, 都发布在Ignite的网站上,地址为: https://ignite.apache.org/benchmarks/ignite-vs-hazelcast.html
针对Hazelcast的指责,我的评论是:
Map.put() -> Map.set()我们已经更新了那个测试,但是这个改变没有产生明显的不同并且也没有影响之前的结果。
同步和异步备份
我们在Apache Ignite和Hazelcast之间进行测试的配置是100%相同的,因此Hazelcast的声明是完全错误的。另外,从Greg的博客来看,他们是在自己的硬件上进行的测试并且由于一些原因改变了测试的场景,使得其他人都无法进行验证。我们的测试,从另一方面讲,是运行在亚马逊AWS上的,代码放在了Github上,任何人都可以运行并且重现结果。
我们在对Ignite以及GridGain和其他产品进行性能对比测试时,都是非常认真和正规的。在我们的测试中,我们测试了超过20种不同的场景配置和用例。今天我们又重新执行了所有的测试并且结果和之前的一样。
英文原文:GridGain Confirms: Apache Ignite Performance 2x Faster than Hazelcast