You haven't really provided us enough info to make any meaningful suggestions.
You've got at least 2 custom plugins -- but you don't give us any idea what the implementations of those plugins look like, or how you've configured them. Maybe there is a bug in your code? maybe it's misconfigured? You said that initial queries seem a little faster when you use your custom plugin(s) but not as fast as if you manual warm those queries from a browser first -- what do the queries look like? how fast is fast? ... w/o specifics it's impossible to guess where the added time (or added time savings when using hte browser to warm them) may be coming from ... and again: maybe the issue is that the code in your custom only is only partially right? maybe it's giving you a slight bit of warming just by executing a query to get some index data strucutres into ram, but it's actaully executing the wrong query? Show us the details single query, and tell us how *exactly* does the timing comapare between: no warming; warming just that query with your custom plugin; warming just that query from your browser? show us the *logs* from solr in all of those cases as well so we can see what is actaully getting executed under the hood. As far as caching goes: all of the cache statistics are easily available from the plugin UI / handler... https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=32604180 https://cwiki.apache.org/confluence/display/solr/MBean+Request+Handler what do you see in terms of insertions/hits/misses on all of the caches in each of the above scenerios? : Date: Fri, 25 Sep 2015 17:31:30 +0200 : From: Christian Reuschling <christian.reuschl...@gmail.com> : Reply-To: solr-user@lucene.apache.org : To: "solr-user@lucene.apache.org" <solr-user@lucene.apache.org> : Subject: firstSearcher cache warming with own QuerySenderListener : : Hey all, : : we want to avoid cold start performance issues when the caches are cleared after a server restart. : : For this, we have written a SearchComponent that saves least recently used queries. These are : written to a file inside a closeHook of a SolrCoreAware at server shutdown. : : The plan is to perform these queries at server startup to warm up the caches. For this, we have : written a derivative of the QuerySenderListener and configured it as firstSearcher listener in : solrconfig.xml. The only difference to the origin QuerySenderListener is that it gets it's queries : from the formerly dumped lru queries rather than getting them from the config file. : : It seems that everything is called correctly, and we have the impression that the query response : times for the dumped queries are sometimes slightly better than without this warming. : : Nevertheless, there is still a huge difference against the times when we manually perform the same : queries once, e.g. from a browser. If we do this, the second time we perform these queries they : respond much faster (up to 10 times) than the response times after the implemented warming. : : It seems that not all caches are warmed up during our warming. And because of these huge : differences, I doubt we missed something. : : The index has about 25M documents, and is splitted into two shards in a cloud configuration, both : shards are on the same server instance for now, for testing purposes. : : Does anybody have an idea? I tried to disable lazy field loading as a potential issue, but with no : success. : : : Cheers, : : Christian : : -Hoss http://www.lucidworks.com/