Мы обновляемся с Solr 1.3 до Solr 1.4.1.
При использовании Solr 1.3 мы видели несколько блокирующих активных потоков в «org.apache.lucene.store.FSDirectory $ FSIndexInput.readInternal ()».
Чтобы использовать преимущества NIO, при обновлении до Solr 1.4.1 мы видим другой тип многопоточных блоков в "org.apache.solr.request.UnInvertedField.getUnInvertedField () &
SegmentReader $ CoreReaders.getTermsReader».
Из-за этого QTimes разгоняется от нескольких сотен до тысячи мсек ... даже до 30-40 с для одного запроса.
- Несколько потоков блокировки появляются после нескольких тысяч запросов.
- У нас нет огранки и сортировки в одних и тех же полях.
- Наши фасетные поля являются многозначными текстовыми полями, но больших текстовых значений нет.
- Размер индекса - около 10 ГБ
- Мы не указали никакой метод огранки в нашем schema.xml.
- Наши настройки кэша значений полей:
Может кто-нибудь сказать нам, почему мы видим эти заблокированные темы?
Кроме того, если они связаны с нашим кешем значений полей, то кеш размером 175 будет заполнен очень небольшим количеством начальных запросов, и сразу после этого мы должны увидеть несколько блокирующих потоков?
Какая разница, если у нас есть "facet.method = enum"?
Это все связано с fieldValueCache или есть какая-то другая конфигурация, которую мы должны установить, чтобы избежать этих блокирующих потоков?
Спасибо
Rachita
Пример значений кэша:
facetField1_27443:
{Поле = facet1_27443, Memsize = 4214884, tindexSize = 52, время = 22, Phase1 = 15, nTerms = 4, bigTerms = 0, termInstances = 6, использует = 1} * 1 038 *
facetField1_70:
{Поле = facetField1_70, Memsize = 4223310, tindexSize = 308, время = 28, Phase1 = 21, nTerms = 636, bigTerms = 0, termInstances = 14404, использует = 1} * 1 041 *
facetField2: {field = facetField2, memSize = 4262644, tindexSize = 3156, время = 273, phase1 = 267, nTerms = 12188, bigTerms = 0, termInstances = 1255522, использует = 7031}
Трассировка стека для "org.apache.solr.request.UnInvertedField.getUnInvertedField () - BLOCKED"
at org.apache.solr.request.UnInvertedField.getUnInvertedField (UnInvertedField.java:837)
в org.apache.solr.request.SimpleFacets.getTermCounts (SimpleFacets.java:250)
в org.apache.solr.request.SimpleFacets.getFacetFieldCounts (SimpleFacets.java:283)
в org.apache.solr.request.SimpleFacets.getFacetCounts (SimpleFacets.java:166)
в org.apache.solr.handler.component.FacetComponent.process (FacetComponent.java:72)
в org.apache.solr.handler.component.SearchHandler.handleRequestBody (SearchHandler.java:195)
в org.apache.solr.handler.RequestHandlerBase.handleRequest (RequestHandlerBase.java:131)
в org.apache.solr.core.SolrCore.execute (SolrCore.java:1316)
в org.apache.solr.servlet.SolrDispatchFilter.execute (SolrDispatchFilter.java:338)
в org.apache.solr.servlet.SolrDispatchFilter.doFilter (SolrDispatchFilter.java:241)
в com.caucho.server.dispatch.FilterFilterChain.doFilter (FilterFilterChain.java:87)
на com.caucho.server.webapp.WebAppFilterChain.doFilter (WebAppFilterChain.java:187)
в com.caucho.server.dispatch.ServletInvocation.service (ServletInvocation.java:266)
в com.caucho.server.http.HttpRequest.handleRequest (HttpRequest.java:270)
в com.caucho.server.port.TcpConnection.run (TcpConnection.java:678)
в com.caucho.util.ThreadPool $ Item.runTasks (ThreadPool.java:721)
в com.caucho.util.ThreadPool $ Item.run (ThreadPool.java:643)
на java.lang.Thread.run (Thread.java:595)
org.apache.lucene.index.SegmentReader $ CoreReaders.getTermsReader () - BLOCKED
at org.apache.lucene.index.SegmentReader $ CoreReaders.getTermsReader (SegmentReader.java:170)
в org.apache.lucene.index.SegmentTermDocs. (SegmentTermDocs.java:52)
в org.apache.lucene.index.SegmentReader.termDocs (SegmentReader.java:987)в org.apache.lucene.index.IndexReader.termDocs (IndexReader.java:1102) в org.apache.lucene.index.SegmentReader.termDocs (SegmentReader.java:981) в org.apache.solr.search.SolrIndeocs.(SolrIndexReader.java:320) в org.apache.solr.search.SolrIndexSearcher.getDocSetNC (SolrIndexSearcher.java:640) в org.apache.solr.search.SolrIndexSearcher.getPositiveDocSet (SolrInache.: orap.java.gsolr.search.92) в com.askme.solrenhancements.facet.ExtendedFacet.getFacetAdditionalInfo (ExtendedFacet.java:69) в com.askme.solrenhancements.facet.ExtendedFacet.getFacetInfo (ExtendedFacet.java:56) в com.askme.solrenhancetaceCount.process (CustomFacetComponent.java:43) в org.apache.solr.handler.component.SearchHandler.handleRequestBody (SearchHandler.java:195) в org.apache.solr.handler.RequestHandlerBase.handleRequest (RequestHandlerBase.java:131) в org.apache.solr.core.SolrCore.execute (SolrCore.java:1316) или.apache.solr..java: 87) в com.caucho.server.webapp.WebAppFilterChain.doFilter (WebAppFilterChain.java:187) в com.caucho.server.dispatch.ServletInvocation.service (ServletInvocation.java:266choserver).http.HttpRequest.handleRequest (HttpRequest.java:270) на com.caucho.server.port.TcpConnection.run (TcpConnection.java:678) на com.caucho.util.ThreadPool $ Item.runTasks (ThreadPool.java:7)в com.caucho.util.ThreadPool $ Item.run (ThreadPool.java:643) в java.lang.Thread.run (Thread.java:595)