Chronicle Datagrid is an enterprise-grade client-server based Java framework for remote access to ultra-low latency Maps and Queues. Clients can read, update, publish and subscribe to changes in the Maps and Queues. Any number of clients can connect to a cluster that can contain one or more servers with a plurarity of resources such as Maps and Queues. Recent client driven developments to Datagrid has enabled us to continue to improve the performance and we have produced some new benchmarks representing typical client scenarios.
Local Map One to Many
The sender and receiver are running in the same JVM and communicating via Datagrid Map, each receiver gets its own asset view and subscription thread.
The chart shows the timings for sending data being sent from 1 source and read by 2 receivers, each receiver subscribes to all keys. The sender is publishing 50,000 key updates per second and over 128 keys, we can see that there is minimal difference between receive times and even at the 99.9% the message was still received in less than 50 microseconds
Local Queue One to Many
We then did the same as the above but with the sender and receiver communicating via Chronicle Queue, as expected overall the message times were slower however they were still under 200 microseconds at the 99.9% and even less lag between receivers than using Map
The tests were carried out running under Linux 3.10.0 on Intel® Xeon® CPU E5-2650 v4 @ 2.20GHz CPUs and OpenOnload 220.127.116.11.
The benchmarks were run with just 2 receivers however we would expect to see the same latency and lag behaviour across n receivers.
Want access to exclusive Chronicle content?
The Chronicle Community is now live, hit the button below and join the community, for free! You'll get exclusive access to blogs, guides and video content. Join today!