2010-10-20 5 views
3

Я вижу чрезвычайно медленные обновления Solr в моей базе данных. В базе данных имеется только 900 документов. Мы используем автокоммит со следующими параметрами, и один раз в некоторое время автокоммит принимать длительное время блокировки обновления:Обновления Solr очень медленные

<autoCommit> 
    <maxDocs>10000</maxDocs> 
    <maxTime>1000</maxTime> 
</autoCommit> 

Что в мире может случаться в течение 74 секунд с 900 документов.

Идеи?

Вот лог сниппет:

18 октября 2010 11:52:46 AM org.apache.solr.core.SolrCore выполнить INFO: [] = WebApp/Solr путь =/обновление Params = { } состояние = 0 QTime = 59569 18 октября 2010 11:52:46 AM org.apache.solr.update.SolrIndexWriter getDirectory

18 октября 2010 11:53:21 AM org.apache.solr. core.SolrCore выполнить INFO: [] webapp =/solr path =/update params = {} status = 0 QTime = 33586 18 окт 2010 11:53:21 AM o rg.apache.solr.update.processor.LogUpdateProcessor закончить

18 октября 2010 11:54:40 AM org.apache.solr.core.SolrCore выполнить INFO: [] = WebApp/Solr Params пути =/обновление = {} состояние = 0 QTime = 76098 18 октября 2010 11:54:41 AM org.apache.solr.update.DirectUpdateHandler2 совершить

И фиксации журнала:

18 октября 2010 11 : 54: 00 AM org.apache.solr.update.DirectUpdateHandler2 commit

INFO: start commit (optimize = f Alse, waitFlush = верно, waitSearcher = истина)

18 октября 2010 11:54:00 AM org.apache.solr.search.SolrIndexSearcher

INFO: Searcher Открытие @ 29b003 главный

18 октября , 2010 11:54:00 AM org.apache.solr.update.DirectUpdateHandler2 совершить

INFO: end_commit_flush

18 октября 2010 11:54:00 AM org.apache.solr.search.SolrIndexSearcher теплый

INFO: autowarming Searcher @ 29b003 main from Searcher @ 718c93 main filterCache {lookups = 0, hits = 0, hitratio = 0.00, inserts = 512, evictions = 0, size = 257, warmupTime = 19294, cumulative_lookups = 3330661, cumulative_hits = 12 5437, cumulative_hitratio = 0,03, cumulative_inserts = 3207537, cumulative_evictions = 3184094}

18 октября 2010 11:54:20 AM org.apache.solr.search.SolrIndexSearcher теплая

ИНФОРМАЦИЯ: autowarming результат для Searcher @ 29b003 main filterCache {lookups = 0, hits = 0, hitratio = 0.00, inserts = 256, evictions = 0, size = 256, warmupTime = 19739, cumulative_lookups = 3330661, cumulative_hits = 12 5437, cumulative_hitratio = 0,03, c umulative_inserts = 3207537, cumulative_evictions = 3184094}

18 октября 2010 г. 11:54:20 org.apache.solr.search.SolrIndexSearcher теплые

ИНФОРМАЦИЯ: autowarming Searcher @ 29b003 магистрали от Searcher @ 718c93 основных queryResultCache {поисков = 0, хиты = 0, hitratio = 0.00, вставляет = 256, выселений = 0, размер = 256, warmupTime = 18604, cumulative_lookups = 3084, cumulative_hits = 996, cumulative_hitratio = 0,32, cumulative_inserts = 2313, cumulative_evictions = 0}

18 октября 2010 11:54:40 AM org.apache.solr.search.SolrIndexSearcher теплый

INFO: результат автосоединения для Searcher @ 29b003 main queryResultCache {lookups = 0, hits = 0, hitratio = 0.00, inserts = 256, evictions = 0, size = 256, warmupTime = 19925, cumulative_ поиски = 3084, cumulative_hits = 996, cumulative_hitratio = 0,32, cumulative_inserts = 2313, cumulative_evictions = 0}

18 октября 2010 11:54:40 AM org.apache.solr.search.SolrIndexSearcher теплый

INFO : autowarming Searcher @ 29b003 main from Searcher @ 718c93 main documentCache {lookups = 0, hits = 0, hitratio = 0.00, inserts = 0, evictions = 0, size = 0, warmupTime = 0, cumulative_lookups = 41846, cumulative_hits = 33712, cumu lative_hitratio = 0,80, cumulative_inserts = 8134, cumulative_evictions = 0}

18 октября 2010 11:54:40 AM org.apache.solr.search.SolrIndexSearcher теплый

ИНФОРМАЦИЯ: autowarming результат для Searcher @ 29b003 основных documentCache {поисков = 0, хиты = 0, hitratio = 0.00, вставляет = 0, выселений = 0, размер = 0, warmupTime = 0, cumulative_lookups = 41846, cumulative_hits = 33712, cumu lative_hitratio = 0,80, cumulative_inserts = 8134, cumulative_evictions = 0}

18 октября 2010 11:54:40 AM org.apache.solr.core.SolrCore registerSearcher

INFO: [] Зарегистрирован новый поисковик Searcher @ 29b003 основная

18 октября 2010 г. 11:54:40 org.apache.solr.search.SolrIndexSearcher закрыть

+0

Зависит от того, какой анализ должен выполнять Solr ... можете ли вы разместить свой schema.xml? –

+0

Это ничего особенного - дюжина полей на документ. 5 граней. – user43685

+0

Что интересно, что есть большой период разминки одного из поисковиков, почему бы это так? – user43685

ответ

7

С <maxTime>1000</maxTime> у вас будет фиксация в каждую секунду. Каждый раз, когда Solr выполняет фиксацию, происходит несколько вещей: поисковик индекса закрывается и снова открывается, кеши нагреваются старыми кэшами, и некоторые запросы могут запускаться автоматически (смотрите настройки «newSearcher» в вашем solrconfig) , В какой-то момент у вас может быть перекрытие фиксации. Solr будет обычно очень медленным, если это произойдет.

Так что спросите себя, действительно ли вам нужно совершать фиксацию в каждую секунду. Если да, вероятно, лучше удалить все запросы из «newSearcher», так как фиксация их часто делает их бесполезными.

+0

Я предположил, что данные не доступны для поиска до фиксации. Таким образом, логика заключалась в том, чтобы применять небольшое количество изменений асинхронно довольно часто. Во-вторых, я думаю, что DirectUpdateHandler2, похоже, обрабатывает запросы на обновление (включая коммиты) последовательно - без перекрытия. – user43685

+0

почему? «Логика заключалась в том, чтобы применять небольшое количество изменений асинхронно довольно часто» -> это реальное время и определенно не обязательно в обычных случаях. для вас второй вопрос: проблема в том, что индексирование занимает некоторое время + разогревание запросов (если cachesize! = 0) => вы получите много обновлений:> максимально быстро достигните максимума updators => узкое место производительности!просто попробуйте установить значение от 1000 до 60000 – Karussell

+1

Это должен быть принятый ответ. Кроме того, вы можете выполнять ручные коммиты (SolrServer.commit()) из кода, который обновляет. Тогда автоматические коммиты не нужны. – Frans

Смежные вопросы