Ignite Cache Test
Apache Ignite is a memory based distributed caching and processing platform which can be used to cache, persist and process big data.It offers various features for Fast Data paradigm like In-memory distributed caching, high performance distributes computations, fault tolerant services, node auto discovery, map-reduce processing, etc. To support these features, Ignite provides components like DataGrid- Distributed Caches, Compute Grid- Distributed Processing, Service Grid- Distributed Services, etc. The core of the Ignite is it's Cache. Ignite Cache is Key-Value store very similar to hashtable, hashmap or map data structure in various programming languages. Only requirement to create cache in Ignite is define name of cache.
Given the cache is the core of Ignite and data storage, it is important to monitor the same periodically so that any issues can be proactively managed.
This test monitors various caches created on Ignite cluster and collects key statistics like number of cache entries, evictions, updates, hit, miss percentages etc. which essentially indicate the health of cache and trend analysis on these metrics can provide key information on cache performance.
Target of the test : Apache Ignite Server
Agent deploying the test : An internal or external agent
Outputs of the test : One set of results for each Apache Ignite Server
Parameter |
Description |
---|---|
Test period |
How often should the test be executed. |
Host |
Enter the IP address of the Apache Ignite cluster. |
Port |
Enter the port number on which JMX connector listens to incoming connections requests. |
JMX Remote Port |
In this text box, enter the name of a virtual warehouse that needs to be monitored. The JMX connector listens on 8686 by default. If it listens on different port in your environment then specify the same. |
JMX User |
Specify the credentials of the user who is authorized to use JMX. |
JMX Password |
Specify the password for the authorized user. |
Confirm Password |
Confirm the password by retyping it here. |
Measurement |
Description |
Measurement Unit |
Interpretation |
---|---|---|---|
Number of eviction entries |
Indicates the total number of eviction from the cache since the cache is created. |
Number |
A healthy number of evictions would be maintained. If this number is low, the cache will eventually be full and administrators may need to increase the size. |
Number of gets |
Indicates the total number of get operations initiated on the cache since the cache is started |
Number |
All of these together provide a good measure of cache performance, if there are too many misses administrators or application programmers may have to adopt another caching strategy. |
Number of hits |
Indicates the number of successful retrievals from the cache since the cache is created. |
Number |
|
Number of misses |
Indicates the number of unsuccessful attempts at retrieving entry from cache. |
Number |
|
Percentage of cache miss |
Indicates the percentage of cache misses against the total number of get operations. |
Percentage |
|
Number of puts |
Indicates the total number of operations where new entries were created in cache ever since cache was created. |
Number |
Adding of new entries of cache should be accompanied by some degree of cache evictions and removals otherwise the cache will keep growing. Administrators need to keep an eye on all cache additions and removals.
|
Number of removals |
Indicates the total number of operations where the entry is removed from the cache. |
Number |
|
Number of non-null values in cache |
Indicates the total number of values in the cache which are not null. |
Number |
This is the real measure of cache size as there may be lot of null values which are not consuming any memory. |
Cache Size |
Indicates the total size of cache in MB. |
MB |
|
Number of transaction commits |
Indicates the total number of transactions committed in the cache ever since the cache is created. |
Number |
Ideally all the transaction should be committed and successfully completed, but in case the transactions are being rolled back repetedly and count of commits is low, the administrators or app programmers may need to redesign cache data or cache operation so that there are minimum failures of operations. |
Number of transaction rollbacks |
Indicates the total number of transactions rolled back in the cache ever since the cache is created. |
Number |
|
Number of keys in cache |
Indicates the total number of keys in the cache at any given time. |
Number |
|
Keys to be rebalance on current node |
Indicates the number of keys existing on current node which are yet to be rebalanced to other nodes. |
Number |
Key rebalancing provides a level of resilience against the cache failure. |
Average time to execute get |
Indicates the average time it takes to execute a get operation. |
Seconds |
These number should ideally remain steady over a number of transactions but in case the time taken is following an upward trend, it may be concerning and can be a sign of deteriorating performance of cache.
|
Average time to execute put |
Indicates the average time it takes to execute a put operation. |
Seconds |
|
Average time to execute remove |
Indicates the average time it takes to execute a remove operation. |
Seconds |
|
Average time to commit transaction |
Indicates the average time it takes to commit a transaction on the cache. |
Seconds |