Haifeng Song
2013-01-06 15:18:07 UTC
Haifeng Song [https://community.jboss.org/people/hypheng] created the discussion
"JBoss http thread block reading in SPECjEnterprise2010"
To view the discussion, visit: https://community.jboss.org/message/788209#788209
--------------------------------------------------------------
I got a problem when benching SPECjEnterprise2010.
The http threads in the thread pool all waiting for http input.
tack trace:
java.net.SocketInputStream.socketRead0(Native Method)
java.net.SocketInputStream.read(SocketInputStream.java:146)
org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:731)
org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:368)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:838)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:679)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:519)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
java.lang.Thread.run(Thread.java:679)
org.jboss.threads.JBossThread.run(JBossThread.java:122)
The executor was idle waiting while thousands of requests were not served, queued and never served in the end.
I don't know which configuration caused this problem.
My configuration about web is:
       <subsystem xmlns="urn:jboss:domain:threads:1.1">
           <unbounded-queue-thread-pool name="JBossWeb">
               <max-threads count="200"/>
               <keepalive-time time="10" unit="second"/>
           </unbounded-queue-thread-pool>
       </subsystem>
       <subsystem xmlns="urn:jboss:domain:web:1.2" default-virtual-server="default-host" native="true">
           <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http" executor="JBossWeb" max-connections="3000"/>
           <virtual-server name="default-host" enable-welcome-root="true">
               <alias name="localhost"/>
               <alias name="example.com"/>
           </virtual-server>
       </subsystem>
If I use the defaut executor, there will be thousands of threads created.
Most of the threads does nothing but waiting i/o.
Could anyone tell me what can lead to this problem?
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/788209#788209]
Start a new discussion in JBoss Web Services at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2044]
"JBoss http thread block reading in SPECjEnterprise2010"
To view the discussion, visit: https://community.jboss.org/message/788209#788209
--------------------------------------------------------------
I got a problem when benching SPECjEnterprise2010.
The http threads in the thread pool all waiting for http input.
tack trace:
java.net.SocketInputStream.socketRead0(Native Method)
java.net.SocketInputStream.read(SocketInputStream.java:146)
org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:731)
org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:368)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:838)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:679)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:519)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
java.lang.Thread.run(Thread.java:679)
org.jboss.threads.JBossThread.run(JBossThread.java:122)
The executor was idle waiting while thousands of requests were not served, queued and never served in the end.
I don't know which configuration caused this problem.
My configuration about web is:
       <subsystem xmlns="urn:jboss:domain:threads:1.1">
           <unbounded-queue-thread-pool name="JBossWeb">
               <max-threads count="200"/>
               <keepalive-time time="10" unit="second"/>
           </unbounded-queue-thread-pool>
       </subsystem>
       <subsystem xmlns="urn:jboss:domain:web:1.2" default-virtual-server="default-host" native="true">
           <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http" executor="JBossWeb" max-connections="3000"/>
           <virtual-server name="default-host" enable-welcome-root="true">
               <alias name="localhost"/>
               <alias name="example.com"/>
           </virtual-server>
       </subsystem>
If I use the defaut executor, there will be thousands of threads created.
Most of the threads does nothing but waiting i/o.
Could anyone tell me what can lead to this problem?
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/788209#788209]
Start a new discussion in JBoss Web Services at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2044]