Solr Cache Test
To obtain maximum query performance, Solr stores several different pieces of information using in-memory caches. Result sets, filters and document fields are all cached so that subsequent, similar searches can be handled quickly. Solr maintains various caches and provides users with options to fine tune these caches are per their requirements. The major caches which are used predominently by users are:
Query Cache: It stores the set of document IDs returned by the query, so if next time same query is fired, it doesn't have to go looking but can return the same set of IDs.
Filter Cache: It stores the filters built by Solr in response to filters added to queries.
Document Cache: Stores the document fields requested when showing query results. When Solr is asked to do a search, generally one or more stored fields are requested to be returned with the results. Solr squirrels those document fields away as well, reducing the time required to service subsequent requests for the same document.
Given that there are many caches and tuning options available for each one of them, it is important to monitor the caches to understand if caches are working at optimal performance. For instance if the memory allocated for cache is enough or is it o large that garbage is being accumulated.
eG Enterprise monitors each cache and provides some of the key statistics like number of evictions, hit ratio, number of inserts etc. which can help administrators understand cache effectiveness.
Target of the test : Apache Solr server
Agent deploying the test : An internal/remote agent
Outputs of the test : One set of results for each cache on each of the Solr core in Apache Solr setup.
Parameter | Description |
---|---|
Test period |
How often should the test be executed |
Host |
The IP address of the host for which this test is to be configured. |
Port |
The port at which the target Apache Solr server listens to. |
Username & Password |
If JMX requires authentication only (but no security), then ensure that the user and password parameters are configured with the credentials of a user with read-write access to JMX. |
Confirm Password |
Confirm the password by retyping it in this box. |
SSL |
By default, SSL is disabled for Apache Solr, accordingly SSL flag is set to No by default. If the flag is set to Yes, the eG Agent will start communicating with Apache Solr server HTTPS. |
Timeout |
By default timeout is 5 secods. |
Detailed Diagnosis |
To make diagnosis more efficient and accurate, the eG Enterprise embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option. The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:
|
Measurement | Description | Measurement Unit | Interpretation |
---|---|---|---|
Eviction |
Indicates the number of cache evictions for current index searcher. |
Number |
If the number is going up over the measurements may be an indicator poor cache performance. |
RAM memory used |
Indicates the actual heap usage of the cache during the last measurement period. |
MB |
A large size of Cache may not be the ideal as it could accumulate a lot of garbage. This measure along with other metrics can provide better insights for cache tuning. |
Hits |
Indicates the number of cache hits for the current index searcher during the last measurement |
Number |
A high number of hits is always preferred, if the number is going down over a series of measurements, you could investigate it further. |
Inserts |
Indicates the number of inserts in the cache during the last measurement period |
Number |
A high number of cache inserts could bring down the performance for the time being but eventually the performance will come up and there will be higher number of cache hits. |
Lookups |
Indicates the number of lookups against the cache. |
Number |
|
Size |
Indicates the size of cache as configured. |
MB |
Fine tune this value based on actual cache usage. |
Entries count |
Indicates the number of cache entries during the last measurement period |
Number |
|
Total size |
Indicates the size of cache as configured. |
Percent |
A high value for this measure indicates that the client is using the maximum amount of allocated connections. |
Return local stats |
Indicates the number of local (from the local shard) response to a "retrieve stats" shard request. |
Number |
|
Merge to global stats |
Indicates the number of process shard responses that contain partial local stats. Usually this entails combining per-share stats for each term. |
Number |
|