JBoss Community

JBoss http thread block reading in SPECjEnterprise2010

created by Haifeng Song in JBoss Web Services - View the full discussion

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

Start a new discussion in JBoss Web Services at Community