Bothersome Ad
General Benchmarking
AWS EC 2 Configuration
|
|
EC 2 Instance
|
r4.2xlarge
|
CPU
|
8
|
RAM
|
61 GB
|
OS
|
Ubuntu 16.04
|
Java
|
Java(TM) SE Runtime Environment 1.8.0_121-b13 Oracle Corporation Java HotSpot(TM) 64-Bit Server VM 25.121-b13
|
Yardstick Configuration
|
|
Nodes
|
1 Client, 4 Servers
|
Threads
|
64
|
Backups
|
1, Synchronous
|
Running Yardstick on Amazon
|
https://github.com/apacheignite/yardstick-ignite#running-on-amazon
|
Yardstick and Clusters Configurations
|
https://github.com/gridgain/yardstick/tree/master/results/HZ-3.8.1-vs-IGNITE-1.9-c-1-s-4-sm-FULL_SYNC-b-1
|
Following "Running Yardstick on Amazon" instruction with provided configurations we can reproduce these numbers:
Complete results: https://github.com/gridgain/yardstick/tree/master/results/HZ-3.8.1-vs-IGNITE-1.9-c-1-s-4-sm-FULL_SYNC-b-1
It's obvious that Apache Ignite 1.9 significantly outperforms Hazelcast 3.8.1 in most of the basic operations pulling ahead on up to 160% in some of the scenarios.
At the same time, we can see that Hazelcast performs better in some atomic operations going ahead Apache Ignite on up to 4%. Honestly, that's great to know that there is still a room for performance improvements in Apache Ignite and that Hazelcast doesn't make the life of Ignite's performance engineers easier.
However, after that performance loss was spotted it was decided to run the same set of the benchmarks but under the higher load that is more relevant to production scenarios - the load was generated by 8 client machines (aka. applications) rather than by a single one. The results were surprising and uplifting as we can see from the next section.
Put More Load
Yardstick Configuration
|
|
Nodes
|
8 Client, 4 Servers
|
Yardstick and Clusters Configurations
|
https://github.com/gridgain/yardstick/tree/master/results/HZ-3.8.1-vs-IGNITE-1.9-c-8-s-4-sm-FULL_SYNC-b-1
|
At all, after the total number of client machines was increased from 1 to 8 the following numbers were reproduced:
Complete results: https://github.com/gridgain/yardstick/tree/master/results/HZ-3.8.1-vs-IGNITE-1.9-c-8-s-4-sm-FULL_SYNC-b-1
These are the numbers taken from one of the client machines. To get the total number of operations per second we just need to accumulate all of them. In any case, looking at the results now we see that Apache Ignite beats Hazelcast even under the higher load for every benchmark.
For instance, Apache Ignite ANSI-99 SQL engine now outperforms Hazelcast's predicates-based querying engine on 200% while in the 1 client machine scenario the difference was only around 80%.
Even more, Apache Ignite took a lead at all the atomic benchmarks jumping from 4% it lost to Hazelcast before to victorious 42% for atomic-put-get-bs-6 scenario.
View comments