我有一个solr服务器,随机遇到性能问题。导致qtimes更长的查询,如果我再次尝试那些,则不会花费相同的时间。 当服务器上的负载不高时,甚至会出现性能问题。
所以我想知道是否有可用的工具,或者solr中是否有任何选项可用于指出导致性能问题的问题。
使用的solrconfig.xml中的一些参数是 -
<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"/>
答案 0 :(得分:14)
我认为你应该首先回顾一下Solr Performance Factors on the Solr Wiki。您还可以使用工具SolrMeter来帮助您对更改进行压力测试。
答案 1 :(得分:7)
如果您正在寻找长期监控,您还可以查看我公司,Sematext或其他公司的可扩展性能监控(SPM)等工具/服务。 http://sematext.com/spm/index.html
此服务将公开请求率,延迟,所有Solr缓存信息,JVM内存,GC,CPU,负载,磁盘和网络IO等。
我们吃自己的狗粮,并使用此工具监控Solr实例的Solr性能,搜索search-lucene.com和search-hadoop.com/,当我们需要帮助他们解决Solr性能问题时,我们会定期与客户一起使用它调谐。
如果您不希望上面的“正确”性能监控,那么您可以使用vmstat,iostat,sar,top,jstack等工具来解决Solr性能问题,假设您在UNIX下运行它。
答案 2 :(得分:2)
sysstat包中的'sar'实用程序非常适合调试磁盘IO问题。如果您注意到任何特定磁盘的使用率始终保持在30%左右,那么您可能已经受到IO限制。
答案 3 :(得分:1)
也许这个工具可以帮助您:LucidGaze。
我没有经验,但看起来很有希望。来自Lucid的人也发表了一些有趣的文章,这些文章非常值得一读。
答案 4 :(得分:1)
我通过同时向solr服务器发出多个请求来对应用程序进行压力测试(请求由后续wgets完成)
我们开始看到性能影响,并将我们的问题缩小到两个原因:
[我们也尝试将索引文件放在ram中并直接从那里使用它,这提高了性能(但显然不可扩展)]
答案 5 :(得分:0)
我正在经历SOLR内存泄漏超过一年,并且不得不重新调整服务器五天作为问题的解决方法,最终我发现监控工具RELIC导致了问题,我们删除了监控和问题已经解决了,所以我的建议是在使用太多监控工具时要小心,这会给性能带来开销。