On 4/22/2014 1:28 AM, Atanas Atanasov wrote: > Just a clarification if someone decides to reproduce it: > 1. 64 bit apache tomcat installation (7 or 8) -> solr 4.4 deployed, any JVM. > 2. Create 1000 cores. > 3. Restart Apache Tomcat. > 4. Create 1 core. > > I hope I explained it well, if not just ask.
Here's a screenshot of the thread count graph on jconsole for one of my active Solr processes. This is Solr 4.6.1, running on an upgraded version (8.1.14) of the stripped down Jetty included in the Solr example. https://dl.dropboxusercontent.com/u/97770508/threads-idxb2.png I've got nineteen cores on each of my systems. About four or five of those cores are active at any one time on each machine. My query rate is extremely low. The circled numbers are the 15 minute rate in queries per second for the machine where I got the jconsole graphs. Each line is one core. https://dl.dropboxusercontent.com/u/97770508/threads-status.png So with 16 total cores (four in active use) and less than 8 queries per second, I've got about 150 threads. The default maxThreads value on Tomcat is 200. The maxThreads on the Jetty included in the Solr example has been set to 10000, but I believe it also defaults to 200. For a larger install, I do not think that 200 threads would be enough. Looking at a thread dump in the admin UI, it looks like almost all of my threads are either sitting in "wait" or "park". Eight threads had a green checkmark, which I believe means they were running. The rest had an hourglass with a yellow triangle. If you repeat your test with the Jetty included in Solr, what happens? Thanks, Shawn