Инструменты для поиска проблем производительности Solr - PullRequest
7 голосов
/ 03 января 2011

У меня есть сервер 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"/>

Ответы [ 6 ]

14 голосов
/ 03 января 2011

Я думаю, вам следует начать с обзора Solr Performance Factors на Solr Wiki . Вы также можете использовать инструмент SolrMeter , чтобы помочь со стресс-тестированием ваших изменений.

7 голосов
/ 01 ноября 2011

Если вы ищете долгосрочный мониторинг, вы также можете обратиться к таким инструментам / услугам, как Scalable Performance Monitoring (SPM) от моей компании, Sematext или другим. http://sematext.com/spm/index.html

Этот сервис будет отображать частоту запросов, задержку, всю информацию о кеше Solr, память JVM, GC, CPU, нагрузку, дисковый и сетевой ввод-вывод и т. Д.

Мы едим собственную собачью еду и используем этот инструмент для мониторинга производительности Solr в экземплярах Solr за search-lucene.com и search-hadoop.com/, и мы регулярно используем его с нашими клиентами, когда нам необходимо помочь им в повышении производительности Solr. настройка.

Если вам не нужен «правильный» мониторинг производительности, как описано выше, вы можете использовать такие инструменты, как vmstat, iostat, sar, top, jstack и т. Д. Для устранения неполадок производительности Solr, при условии, что вы запускаете его под UNIX.

2 голосов
/ 08 января 2011

Утилита sar из пакета sysstat отлично подходит для устранения проблем с дисковым вводом-выводом.Если вы заметили, что какой-то конкретный диск постоянно использует более 30%, вы, вероятно, связаны с IO.

1 голос
/ 11 февраля 2011

Я выполнил стресс-тестирование приложения, выполнив одновременно несколько запросов к серверу solr (запросы выполнялись последующими wgets)

Мы начали видеть влияние на производительность и сузили нашу проблему до двух причин:

  • размер кеша был слишком мал, поэтому в кеше происходило слишком много вытеснений и вставок.
  • Мы использовали solrversion1.3, который явно использует блокировку чтения для файлов индекса. Переход на solr 1.4 устранил эту проблему, поскольку он использует java nio, который использует неблокирующее чтение файлов индекса.

[также мы попытались поместить индексные файлы в оперативную память и напрямую использовать их оттуда, что улучшило производительность (но, очевидно, не масштабируемо)]

1 голос
/ 03 января 2011

Может быть, этот инструмент поможет вам: LucidGaze .

У меня нет опыта, но это выглядит многообещающе. Люди из Lucid также опубликовали несколько интересных статей, которые действительно стоит прочитать.

0 голосов
/ 16 сентября 2013

Я испытывал утечки памяти SOLR более года, и мне пришлось перерабатывать сервер в течение пяти дней в качестве обходного пути к проблеме, в конце концов я обнаружил, что средство мониторинга RELIC вызывало проблему, мы удалили мониторинг и проблему была решена, поэтому мой совет: будьте осторожны, если используете слишком много инструментов мониторинга, это снижает производительность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...