Thanks for the help on this.
I am now catching those exceptions, I have the correct speed, but after
the test is done, the poller is going ape-sh#@ and takes 100% of cpu,
making future tests really slow.
I need to figure out why it isn't letting go of the connections
Filip
Remy Maucherat wrote:
[EMAIL PROTECTED] wrote:
Author: fhanik
Date: Thu Jun 22 12:05:02 2006
New Revision: 416444
URL: http://svn.apache.org/viewvc?rev=416444&view=rev
Log:
Fix so that we don't do a busy read, instead we are properly doing a
NIO poller wait
This way, we can achieve blocking read, without wasting CPU cycles.
Since we are using Java 5, I will be changing this implementation
from using synchronized to using the Exchanger, this is also to avoid
anyi locks that can happen. For example, in the current
implementation the poller can call notify before we have had a chance
to call wait
This is a little bit better (2300 r/s now), but:
- I get some cancelled key exceptions (most likely they could be caught):
22 juin 2006 21:32:38 org.apache.tomcat.util.net.NioEndpoint$Poller
events
GRAVE:
java.nio.channels.CancelledKeyException
at sun.nio.ch.SelectionKeyImpl.ensureValid(Unknown Source)
at sun.nio.ch.SelectionKeyImpl.interestOps(Unknown Source)
at
org.apache.coyote.http11.InternalNioInputBuffer$1.run(InternalNioInputBuffer.java:573)
at
org.apache.tomcat.util.net.NioEndpoint$Poller.events(NioEndpoint.java:1120)
at
org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:1176)
at java.lang.Thread.run(Unknown Source)
- I get a problem in the poller thread after a while:
Exception in thread "http-8081-Poller-0" java.lang.NullPointerException
at sun.nio.ch.WindowsSelectorImpl$FdMap.remove(Unknown Source)
at sun.nio.ch.WindowsSelectorImpl$FdMap.access$3000(Unknown
Source)
at sun.nio.ch.WindowsSelectorImpl.implDereg(Unknown Source)
at sun.nio.ch.SelectorImpl.processDeregisterQueue(Unknown Source)
at sun.nio.ch.WindowsSelectorImpl.doSelect(Unknown Source)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(Unknown Source)
at sun.nio.ch.SelectorImpl.select(Unknown Source)
at
org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:1182)
at java.lang.Thread.run(Unknown Source)
However, performance without keepalive (no -k) is down.
Rémy
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
Filip Hanik
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]