Thanks Shawn. As for your first question, the core info needs to be gathered upon every search request because cores are created dynamically. When a user initiates a search request, the system must be aware of all available cores in order to execute distributed search on _all_ relevant cores. (the user must get reliable and most up to date data) The reason that 800ms seems a lot to me is because the overall execution time takes about 2500ms and a large part of it is due to the STATUS request.
The "minimal interval" concept is a good idea and indeed we've considered it, yet it poses a slight problem when building a RT system which needs to return to most up to date data. I am just trying to understand if there's some other way to hasten the STATUS reply (for example, by asking the STATUS request to return just certain core attributes, such as name, instead of collecting everything) Thanks, Shahar. -----Original Message----- From: Shawn Heisey [mailto:s...@elyograg.org] Sent: Thursday, January 10, 2013 2:52 AM To: solr-user@lucene.apache.org Subject: Re: CoreAdmin STATUS performance On 1/9/2013 8:38 AM, Shahar Davidson wrote: > I have a client app that uses SolrJ and which requires to collect the names > (and just the names) of all loaded cores. > I have about 380 Solr Cores on a single Solr server (net indices size is > about 220GB). > > Running the STATUS action takes about 800ms - that seems a bit too long, > given my requirements. > > So here are my questions: > 1) Is there any way to get _only_ the core Name of all cores? > 2) Why does the STATUS request take such a long time and is there a way to > improve its performance? I'm curious why 800 milliseconds isn't fast enough. How often do you actually need to gather this information? If you are incorporating it into something that will get accessed a lot (such as a status servlet page), put a "minimum interval" capability into the part of the program that contacts solr. If it's been less than that minimum interval (5-10 seconds could be a recommended starting point) since the last time the information was gathered, just use the previously stored response rather than make a new request. I have used this approach in a homegrown status servlet written with SolrJ. I have been trying to come up with a way to generalize the paradigm so it can be incorporated directly into a future SolrJ version. Thanks, Shawn Email secured by Check Point