Hi, I see the threads of the tomcat7.exe process in the Windows Task manager.
Regards, Atanas Atanasov On Thu, Apr 10, 2014 at 5:28 PM, Aman Tandon <amantandon...@gmail.com>wrote: > Hi Atanas, > > I have a question that, how do know that how much thread does the tomcat > has? > > Thanks > Aman Tandon > > > On Thu, Apr 10, 2014 at 7:53 PM, Erick Erickson <erickerick...@gmail.com > >wrote: > > > I don't expect having equal values to make a noticeable difference, > > except possibly in some corner cases. Setting them equal is mostly for > > avoiding surprises... > > > > Erick > > > > On Thu, Apr 10, 2014 at 7:17 AM, Atanas Atanasov <atanaso...@gmail.com> > > wrote: > > > Thanks for the tip, > > > > > > I already set the core properties. Now tomcat has only 27 threads after > > > start up, which is awesome. > > > Works fine, first search is not noticeably slower than before. > > > I'll put equal values for Xmx and Xms and see if there will be any > > > difference. > > > > > > Regards, > > > Atanas > > > > > > > > > On Thu, Apr 10, 2014 at 5:11 PM, Erick Erickson < > erickerick...@gmail.com > > >wrote: > > > > > >> Trying to fit 1,000 cores in 6G of memory is... interesting. That's a > > >> lot of stuff in a small amount of memory. I hope these cores' indexes > > >> are tiny. > > >> > > >> The lazy-loading bit for cores has a price. The first user in will pay > > >> the warmup penalty for that core while it loads. This may or may not > > >> be noticeable but be aware of it. You may or may not want autowarming > > >> in place. > > >> > > >> You can also specify how many cores are kept in memory at one time, > > >> they go into an LRU cache and are aged out after they serve their last > > >> outstanding request. > > >> > > >> BTW, current Java practice seems to be setting Xmx and Xms to the same > > >> value, 6G in your case. > > >> > > >> Good Luck! > > >> Erick > > >> > > >> On Thu, Apr 10, 2014 at 12:14 AM, Atanas Atanasov < > atanaso...@gmail.com > > > > > >> wrote: > > >> > Thanks for the quick responses, > > >> > I have allocated 1GB min and 6 GB max memory to Java. The cache > > settings > > >> > are the default ones (maybe this is a good point to start). > > >> > All cores share the same schema and config. > > >> > I'll try setting the > > >> > loadOnStartup=*false* transient=*true *options for each core and see > > what > > >> > will happen. > > >> > > > >> > Those are the exceptions from the log files: > > >> > SEVERE: Servlet.service() for servlet [default] in context with path > > >> > [/solrt] threw exception > > >> > java.lang.IllegalStateException: Cannot call sendError() after the > > >> response > > >> > has been committed > > >> > at > > >> > > > >> > > > org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:450) > > >> > at > > >> > > > >> > > > org.apache.solr.servlet.SolrDispatchFilter.sendError(SolrDispatchFilter.java:695) > > >> > at > > >> > > > >> > > > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:383) > > >> > at > > >> > > > >> > > > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:158) > > >> > at > > >> > > > >> > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > > >> > at > > >> > > > >> > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > > >> > at > > >> > > > >> > > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) > > >> > at > > >> > > > >> > > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) > > >> > at > > >> > > > >> > > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) > > >> > at > > >> > > > >> > > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) > > >> > at > > >> > > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) > > >> > at > > >> > > > >> > > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) > > >> > at > > >> > > > >> > > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) > > >> > at > > >> > > > >> > > > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) > > >> > at > > >> > > > >> > > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) > > >> > at > > >> > > > >> > > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315) > > >> > at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) > > >> > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown > Source) > > >> > at java.lang.Thread.run(Unknown Source) > > >> > > > >> > AND > > >> > > > >> > SEVERE: null:ClientAbortException: java.net.SocketException: > Software > > >> > caused connection abort: socket write error > > >> > at > > >> > > org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:371) > > >> > at > > >> > org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:333) > > >> > at > > >> > > > >> > > > org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:101) > > >> > at sun.nio.cs.StreamEncoder.implFlush(Unknown Source) > > >> > at sun.nio.cs.StreamEncoder.flush(Unknown Source) > > >> > at java.io.OutputStreamWriter.flush(Unknown Source) > > >> > at org.apache.solr.util.FastWriter.flush(FastWriter.java:137) > > >> > at > > >> > > > >> > > > org.apache.solr.servlet.SolrDispatchFilter.writeResponse(SolrDispatchFilter.java:648) > > >> > at > > >> > > > >> > > > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:375) > > >> > at > > >> > > > >> > > > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:158) > > >> > at > > >> > > > >> > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > > >> > at > > >> > > > >> > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > > >> > at > > >> > > > >> > > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) > > >> > at > > >> > > > >> > > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) > > >> > at > > >> > > > >> > > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) > > >> > at > > >> > > > >> > > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) > > >> > at > > >> > > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) > > >> > at > > >> > > > >> > > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) > > >> > at > > >> > > > >> > > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) > > >> > at > > >> > > > >> > > > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) > > >> > at > > >> > > > >> > > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) > > >> > at > > >> > > > >> > > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) > > >> > at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) > > >> > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown > Source) > > >> > at java.lang.Thread.run(Unknown Source) > > >> > Caused by: java.net.SocketException: Software caused connection > abort: > > >> > socket write error > > >> > at java.net.SocketOutputStream.socketWrite0(Native Method) > > >> > at java.net.SocketOutputStream.socketWrite(Unknown Source) > > >> > at java.net.SocketOutputStream.write(Unknown Source) > > >> > at > > >> > > > >> > > > org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:215) > > >> > at > > org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:480) > > >> > at > > >> > > > >> > > > org.apache.coyote.http11.InternalOutputBuffer.flush(InternalOutputBuffer.java:119) > > >> > at > > >> > > > >> > > > org.apache.coyote.http11.AbstractHttp11Processor.action(AbstractHttp11Processor.java:799) > > >> > at org.apache.coyote.Response.action(Response.java:174) > > >> > at > > >> > > org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:366) > > >> > ... 24 more > > >> > > > >> > > > >> > > > >> > On Thu, Apr 10, 2014 at 9:51 AM, Alexandre Rafalovitch > > >> > <arafa...@gmail.com>wrote: > > >> > > > >> >> Are you using all those cores at once? If not, there is a recent > > >> >> settings to allow solr to load cores on demand. > > >> >> > > >> >> If you are using them all, perhaps you need to look into splitting > > >> >> them to different machines (horizontal scaling). > > >> >> > > >> >> What about your caches? How many additional structures you have > > >> >> configured for each core? How much memory you allocated to the Java > > >> >> process. You are probably running out of memory and thrashing with > a > > >> >> swap. I am not even sure Java process can access that much memory > in > > >> >> one process. You might be better off running multiple Tomcat/Solr > > >> >> instances on the same machine with different subsets of cores. > > >> >> > > >> >> Regards, > > >> >> Alex. > > >> >> P.s. This is general advice, I don't know the specific issues > around > > >> >> that version of Solr/Tomcat. > > >> >> Personal website: http://www.outerthoughts.com/ > > >> >> Current project: http://www.solr-start.com/ - Accelerating your > Solr > > >> >> proficiency > > >> >> > > >> >> > > >> >> On Thu, Apr 10, 2014 at 1:40 PM, Atanas Atanasov < > > atanaso...@gmail.com> > > >> >> wrote: > > >> >> > Hi, guys, > > >> >> > > > >> >> > I need some help. After updating to SOLR 4.4 the tomcat process > is > > >> >> > consuming about 2GBs of memory, the CPU usage is about 40% after > > the > > >> >> start > > >> >> > for about 10 minutes. However, the bigger problem is, I have > about > > >> 1000 > > >> >> > cores and seems that for each core a thread is created. The > process > > >> has > > >> >> > more than 1000 threads and everything is extremely slow. Creating > > or > > >> >> > unloading a core even without documents takes about 20 minutes. > > >> Searching > > >> >> > is more or less good, but storing also takes a lot. > > >> >> > Is there some configuration I missed or that I did wrong? There > > aren't > > >> >> many > > >> >> > calls, I use 64 bit tomcat 7, SOLR 4.4, latest 64 bit Java. The > > >> machine > > >> >> has > > >> >> > 24 GBs of RAM, a CPU with 16 cores and is running Windows Server > > 2008 > > >> R2. > > >> >> > Index is uppdated every 30 seconds/10 000 documents. > > >> >> > I haven't checked the number of threads before the update, > because > > I > > >> >> didn't > > >> >> > have to, it was working just fine. Any suggestion will be highly > > >> >> > appreciated, thank you in advance. > > >> >> > > > >> >> > Regards, > > >> >> > Atanas > > >> >> > > >> > > >