Hazelcast memory considerations

Learn about what you need to consider for Hazelcast’s memory consumption when you allocate memory for EFM.

Hazelcast is an in-memory data grid, used as cache manager for EFM. Hazelcast runs in an embedded mode, in the same JVM as EFM.

Hazelcast’s memory consumption has to be considered as well when you allocate memory for EFM.

To demonstrate Hazelcast memory consumption scales linearly with the number of agents, the baseline test is run with 100k and then with 20k agents. The expectation is that 5 times less cache is required in the second case.

Results

100000 Agents 20000 Agents Ratio
Test Case Total Items Total Size MB Total Items Total Size MB Total Items Total Size
Agents registering to EFM 234,000.00 215.00 46,500.00 42.80 19.87% 19.91%
Agents heartbeating to EFM 1,096,000.00 808.00 202,900.00 160.90 18.51% 19.91%

Takeaways

The expectation was to see linear scaling in cache items/sizes which is in line with the results. Cache consumption changes proportionally with the number of agents, for example, 80% less agents result in 80% less cache consumption.