here is my try to detect with VirtualVM some hot spots with VirtualVM.
Enviroment: A newly started node with ~15 times the query:
http://yxz/solr/hebis/select/?q=darwin&facet=true&facet.mincount=1&facet.limit=30&facet.field=material_access&facet.field=department_3&facet.field=rvk_facet&facet.field=author_facet&facet.field=material_brief&facet.field=language&facet.prefix=&facet.sort=count&echoParams=all&debugQuery=true
Ordered by self time the top methods are:
org.eclipseutil.BlockingArrayQueue.poll(): 260s(self), 260s(total) org.apache.lucene.index.FileInfos.init() 90s(self), 90s(total) org.apache.lucene.index.FileInfos.FieldNumbers.addOrGet() 60s(self), 60s(total) org.apache.lucene.index.FileInfos.Builder.addOrGetUpdateInternal() 51s(self), 121s(total) org.apache.lucene.index.FileInfos.Builder.finish() 13s(self), 102s(total) org.apache.lucene.index.FileInfos.Builder.fieldInfo() 9s(self), 9s(total) org.apache.lucene.index.FileInfos.Builder.add() 4s(self), 126s(total) org.apache.lucene.index.FileInfos.MultibleFields.getMergedFieldInfos() 1s(self), 229s(total) ... less than 1000ms
Ordered by total time the top (non http/jetty) methods are:
jetty ... 231s(total) org.apache.solr.handler.component.SearchHandler.handleRequestBody() 231s(total) org.apache.solr.request.SimpleFacets.* 230s(total) org.apache.solr.handler.component.FacetComponent.* 230s(total) org.apache.lucene.index.* 125s(total) org.apache.lucene.search.* .3s(total) ... less than 300ms