tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Filip Hanik - Dev Lists <devli...@hanik.com>
Subject Re: nio connector configuration
Date Fri, 20 Feb 2009 01:02:38 GMT
peter, if you post your test code packaged in such a way that who ever 
helps you doesn't have to reverse engineer your app to setup the test 
case and test it locally, then you most likely wont have to pay anyone 
to help you.
The more effort you provide in providing information to the list, 
including a reproducible test case, then someone, possibly me, will help 
you out for free.
However, if it would take someone more than 10 minutes and they still 
can't setup your example, then no one will try it for free.

Even if you paid someone, they would ask for the same info, however, 
they would charge you for the time it took to setup and reproduce your 
example.
and that is the difference between free support and paid support.
with free support, you do the work, someone helps you
with paid support, you pay someone to do the work that you could have 
done, the help and the answer in the end will most likely be the same.

If you want paid support or consulting, you can get that from many 
different companies, including the one I work for, www.springsource.com

Filip

Peter Warren wrote:
> Sorry to bump this thread.  I'm willing to pay for some assistance if
> anyone's interested in helping.  I'm trying to figure out 2 problems
> when running my system under a light-moderate load test:
>
> 1) why do my comet timeout events not get generated on time (supposed
> to be every 50 seconds, averaging 56s, with many refused connections
> skewing the average down, max 85s)?
>
> 2) why is tomcat refusing connections under what seems to be a reasonable load?
>
> I'm happy to do more legwork on my own -- just looking for some
> pointers here.  Can anyone help me out?
>
> Looking at JConsole, 2 items that look suspicious: 1) blocked
> http-acceptor threads, and 2) block-poller and client-poller threads
> that show a high number of blocks (see below).  Also, the non-comet
> http requests are returning quickly, averaging ~150ms, so it seems to
> be only my comet requests that are having issues.
>
> Running a load test with 600 total client threads averaging 14
> requests/sec.  300 threads making normal http requests, 300 threads
> making comet requests that wait 50 seconds for a server timeout.
>
> Tomcat 6.0.18 on Windows XP.
>
>     <Connector port="80" protocol="org.apache.coyote.http11.Http11NioProtocol"
> 	maxThreads="1000"
> 	acceptorThreadCount="5"
> 	acceptorThreadPriority="10"
> 	pollerThreadCount="5"
> 	pollerThreadPriority="10"
> 	redirectPort="8443"
> 	enableLookups="false" />
>
> after 1/2 hour running:
>
> normal http requests:
> 20000 samples, averaging 150 ms, ~.5% error
>
> comet requests:
> 10000 samples, averaging 56s, ~3.5% error
>
> Information from JConsole:
>
> CPU avg: 5-10%
> threads: stable @ ~300
> memory: stable @ ~130MB
>
> Thread status from JConsole of the http-acceptor, block-poller, and
> client-poller threads:
>
> Name: http-80-Acceptor-0
> State: BLOCKED on java.lang.Object@17a82f1 owned by: http-80-Acceptor-4
> Total blocked: 132  Total waited: 0
>
> Stack trace:
> sun.nio.ch.ServerSocketChannelImpl.accept(Unknown Source)
> org.apache.tomcat.util.net.NioEndpoint$Acceptor.run(NioEndpoint.java:1198)
> java.lang.Thread.run(Unknown Source)
>
> -----
>
> Name: http-80-Acceptor-1
> State: BLOCKED on java.lang.Object@17a82f1 owned by: http-80-Acceptor-4
> Total blocked: 129  Total waited: 0
>
> Stack trace:
> sun.nio.ch.ServerSocketChannelImpl.accept(Unknown Source)
> org.apache.tomcat.util.net.NioEndpoint$Acceptor.run(NioEndpoint.java:1198)
> java.lang.Thread.run(Unknown Source)
>
> -----
>
> Name: http-80-Acceptor-2
> State: BLOCKED on java.lang.Object@17a82f1 owned by: http-80-Acceptor-4
> Total blocked: 122  Total waited: 0
>
> Stack trace:
> sun.nio.ch.ServerSocketChannelImpl.accept(Unknown Source)
> org.apache.tomcat.util.net.NioEndpoint$Acceptor.run(NioEndpoint.java:1198)
> java.lang.Thread.run(Unknown Source)
>
> -----
>
> Name: http-80-Acceptor-3
> State: BLOCKED on java.lang.Object@17a82f1 owned by: http-80-Acceptor-0
> Total blocked: 166  Total waited: 0
>
> Stack trace:
> sun.nio.ch.ServerSocketChannelImpl.accept(Unknown Source)
> org.apache.tomcat.util.net.NioEndpoint$Acceptor.run(NioEndpoint.java:1198)
> java.lang.Thread.run(Unknown Source)
>
> -----
>
> Name: http-80-Acceptor-4
> State: BLOCKED on java.lang.Object@17a82f1 owned by: http-80-Acceptor-0
> Total blocked: 133  Total waited: 0
>
> Stack trace:
> sun.nio.ch.ServerSocketChannelImpl.accept(Unknown Source)
> org.apache.tomcat.util.net.NioEndpoint$Acceptor.run(NioEndpoint.java:1198)
> java.lang.Thread.run(Unknown Source)
>
> -----
>
> Name: http-80-ClientPoller
> State: RUNNABLE
> Total blocked: 17,950  Total waited: 5
>
> Stack trace:
> sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
> sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(Unknown Source)
> sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(Unknown Source)
> sun.nio.ch.WindowsSelectorImpl.doSelect(Unknown Source)
> sun.nio.ch.SelectorImpl.lockAndDoSelect(Unknown Source)
>    - locked sun.nio.ch.Util$1@f7b8fc
>    - locked java.util.Collections$UnmodifiableSet@195afdb
>    - locked sun.nio.ch.WindowsSelectorImpl@c56236
> sun.nio.ch.SelectorImpl.select(Unknown Source)
> org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:1473)
> java.lang.Thread.run(Unknown Source)
>
> -----
>
> Name: NioBlockingSelector.BlockPoller-1
> State: RUNNABLE
> Total blocked: 10,645  Total waited: 0
>
> Stack trace:
> sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
> sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(Unknown Source)
> sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(Unknown Source)
> sun.nio.ch.WindowsSelectorImpl.doSelect(Unknown Source)
> sun.nio.ch.SelectorImpl.lockAndDoSelect(Unknown Source)
>    - locked sun.nio.ch.Util$1@b2ee9a
>    - locked java.util.Collections$UnmodifiableSet@14eda77
>    - locked sun.nio.ch.WindowsSelectorImpl@1e8bb4c
> sun.nio.ch.SelectorImpl.select(Unknown Source)
> org.apache.tomcat.util.net.NioBlockingSelector$BlockPoller.run(NioBlockingSelector.java:305)
>
> Thanks for any help,
> Peter
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>
>   


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message