I am not getting the performance that I am expecting from using Apache Ignite DataGrid. I have tried a few configuration changes but at this point don't know how to investigate performance bottlenecks, and am looking for expert help.
I am using Apache Ignite to cache a byte array using a wrapper class I call ByteArray. My test code attempts to benchmark the cache performance by calling multiple puts and then multiple gets from another process. I've tried running the get process on the same node and on different nodes. I have also created a baseline performance spec using Java HashMap as my cache, and this has much better performance (10000x for put).
Right now, on the same node, I get the following:
Hashmap cache, same node: put 2600 MB/s; get 300 MB/s
Ignite same node cache: put 0.4 MB/s; get 2.0 MB/s
Ignite cache, 2 nodes: put 0.3 MB/s; get 0.7 MB/s
I ran these in replicated mode but I see similar results for partitioned mode. I run multiple iterations of the test and average the timing. My nodes have 25GB memory and my test consumes ~1GB. I have configured the VM to use 10GB max.