I have a solr server, which runs into performance issue at random. The queries which result in longer qtimes, dont take the same time if I try those once again.
The performance issue even arises sometimes when the load on server is not high.
So I wanted to know if there are any tools available or are there any options in solr available to pin-point the problem leading to performance issues.
some of the parameters in solrconfig.xml used are –
<filterCache class="solr.LRUCache" size="1024" initialSize="512" autowarmCount="1000"/>
<queryResultCache class="solr.LRUCache" size="512" initialSize="128" autowarmCount="0"/>
<documentCache class="solr.LRUCache" size="1024" initialSize="512" autowarmCount="0"/>
<enableLazyFieldLoading>true</enableLazyFieldLoading>
<queryResultWindowSize>30</queryResultWindowSize>
<queryResultMaxDocsCached>100</queryResultMaxDocsCached>
<HashDocSet maxSize="10000" loadFactor="0.75"/>
If you are looking for long-term monitoring you may also look into tools/services like Scalable Performance Monitoring (SPM) from my company, Sematext or others. http://sematext.com/spm/index.html
This service will expose request rates, latency, all Solr cache info, JVM memory, GC, CPU, load, disk and network IO, etc.
We eat our own dog food and use this tool to monitor Solr performance of Solr instances behind search-lucene.com and search-hadoop.com/ and we use it regularly with our customers when we need to help them around Solr performance tuning.
If you don’t want “proper” performance monitoring a la above, then you can use tools like vmstat, iostat, sar, top, jstack, etc. for troubleshooting Solr performance, assuming you run it under UNIX.