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.obj...@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.obj...@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.obj...@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.obj...@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.obj...@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.uti...@f7b8fc
- locked java.util.collections$unmodifiable...@195afdb
- locked sun.nio.ch.windowsselectori...@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.uti...@b2ee9a
- locked java.util.collections$unmodifiable...@14eda77
- locked sun.nio.ch.windowsselectori...@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-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org