Solr Performance Monitoring - SearchStax


Overview

SearchStax® from Measured Search® provides real-time and historical statistical graphs of critical Solr server and JVM metrics and statistics. These statistics provide a birds-eye view of Solr cluster health, enabling you to tune server performance. This can be crucial when performing Solr shard management and setting up your collections for best performance.

How to Access the Graphs

You can access the graphs from the SearchStax Dashboard.

To access the graphs:

  1. From the SearchStax Dashboard, click on Deployments.
  2. Select a Deployment for which you would like to view performance history.
  3. In the navigation pane on the left, the following sub-sections are available:
Section Description
CPU, Memory, JVM Shows server-related metrics
Collections List of collections in this deployment
Garbage Collection Garbage-collection metrics for Solr cluster
Search Throughput, Latency Search-performance metrics for the Solr cluster (viewable per collection)
Indexing Throughput, Latency Indexing-performance metrics for the Solr cluster (viewable per collection)
Caches Cache-performance metrics for the Solr cluster (viewable per collection)

Click on any sub-section to view the associated graphs.


About the Graphs

SearchStax currently provides graphs for the following server and search metrics.


Server Performance

Screenshot

The following server-performance metrics are reported by SearchStax:

Metric Definition
System Load Average Average load on the system over time.
Memory Total memory size and used memory size plotted on a single graph.
Thread Count Server thread count usage over time.
Swap-Space Utilization Total disc swap space available and used over time.
Heap Memory Usage Heap memory usage over time. Heap memory is used for storing Java objects.
Non-Heap Usage Non-heap memory usage over time. Non-heap memory is used by Java to store loaded classes and other metadata.


Collections

The Collections table shows the distribution of collections and shards across servers in this Deployment.


Garbage Collection

Screenshot

The following garbage-collection metrics are reported by SearchStax:

Metric Definition
ConcurrentMarkSweep CollectionTime & CollectionCount Collection time and count for the ConcurrentMarkSweep approach.
ParNew CollectionTime & CollectionCount Collection time and count for the ParNew approach.


Search Throughput and Latency

Screenshot

SearchStax provides graphs that report on throughput and latency.

Metric Definition
Average Requests/second (ms) Reports average search requests per second.
Average Time/Request (ms) Reports average time for search request to fulfill the query.
5-minute Request Rate Reports search-request rate over a 5-minute interval.
15-minute Request Rate Reports search-request rate over 15-minute interval.
Timeouts Reports server timeouts, where the server did not respond to the request fast enough.
Errors Numbers of search-request errors.


Indexing Throughput and Latency

Screenshot

SearchStax provides graphs that report on throughput and latency.

Metric Definition
Average Requests/Second Reports average indexing requests per second.
Average Time/Request (ms) Reports average time for indexing request to fulfill the query.
Timeouts Reports server timeouts, where the server did not respond to the request fast enough.
Errors Numbers of indexing request errors.
Update Handler graphs Reports various Update Handler metrics over a period of time, such as commits, autoCommits, deletesById, etc.


Caches

Screenshot

SearchStax provides graphs that report on Caches.

Metric Definition
QueryResultCache This cache stores ordered sets of document IDs — the top N results of a query ordered by some criterion. Multiple metrics report how the query result cache is being utilized to fulfill search requests. Metrics include hitratio, evictions, warmup time, etc.
FilterCache This cache stores unordered sets of document IDs that match the queries. Multiple metrics report how the filter cache is being utilized to fulfill search requests. Metrics include itratio, evictions, warmup time, etc.
DocumentCache The documentCache stores Lucene Document objects that have been fetched from disk. Multiple metrics report how the document cache is being utilized. Metrics include itratio, evictions, warmup time, etc.
FieldValueCache The fieldValueCache is similar to fieldCache, and supports multiple values per document. It is primarily used for faceting. Metrics include warmup time, size.