I'm not seeing the windows problems, I used to have many problems on windows using jdk1.4, but since 1.5 I have no problems at all. I do have a brand new machine, so maybe there is some windows patch on it that I didn't have before, other than that I can't think of anything.
I'm showing almost identical results between NIO and blocking IO on both windows and FC4. here is an output from my test run on windows, 100,000 requests on each connector I still have one thing to improve, to use an java.util.concurrent Exchanger on the read that registers back with the Selector and handles the hand off between two threads correctly. C:\development\covalent\ers\apache2.0\bin>java -version java version "1.5.0_06" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05) Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode, sharing) --from tomcat startup, two connectors starting up,. Jun 26, 2006 3:16:53 PM org.apache.coyote.http11.Http11Protocol start INFO: Starting Coyote HTTP/1.1 on http-8080 Jun 26, 2006 3:16:53 PM org.apache.coyote.http11.Http11NioProtocol start INFO: Starting Coyote HTTP/1.1 on http-8081 Jun 26, 2006 3:16:53 PM org.apache.catalina.startup.Catalina start INFO: Server startup in 1828 ms C:\development\covalent\ers\apache2.0\bin>ab -n 100000 -c 20 -k http://127.0.0.1:8081/tomcat.gif This is ApacheBench, Version 2.0.41-dev <$Revision: 1.2 $> apache-2.0 Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/ Benchmarking 127.0.0.1 (be patient) Completed 10000 requests Completed 20000 requests Completed 30000 requests Completed 40000 requests Completed 50000 requests Completed 60000 requests Completed 70000 requests Completed 80000 requests Completed 90000 requests Finished 100000 requests Server Software: Apache-Coyote/1.1 Server Hostname: 127.0.0.1 Server Port: 8081 Document Path: /tomcat.gif Document Length: 1934 bytes Concurrency Level: 20 Time taken for tests: 16.734375 seconds Complete requests: 100000 Failed requests: 0 Write errors: 0 Keep-Alive requests: 100000 Total transferred: 216400000 bytes HTML transferred: 193400000 bytes Requests per second: 5975.72 [#/sec] (mean) Time per request: 3.347 [ms] (mean) Time per request: 0.167 [ms] (mean, across all concurrent requests) Transfer rate: 12628.38 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.0 0 0 Processing: 0 3 6.3 0 46 Waiting: 0 3 6.3 0 46 Total: 0 3 6.3 0 46 Percentage of the requests served within a certain time (ms) 50% 0 66% 0 75% 0 80% 15 90% 15 95% 15 98% 15 99% 15 100% 46 (longest request) C:\development\covalent\ers\apache2.0\bin>ab -n 100000 -c 20 -k http://127.0.0.1:8080/tomcat.gif This is ApacheBench, Version 2.0.41-dev <$Revision: 1.2 $> apache-2.0 Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/ Benchmarking 127.0.0.1 (be patient) Completed 10000 requests Completed 20000 requests Completed 30000 requests Completed 40000 requests Completed 50000 requests Completed 60000 requests Completed 70000 requests Completed 80000 requests Completed 90000 requests Finished 100000 requests Server Software: Apache-Coyote/1.1 Server Hostname: 127.0.0.1 Server Port: 8080 Document Path: /tomcat.gif Document Length: 1934 bytes Concurrency Level: 20 Time taken for tests: 16.937500 seconds Complete requests: 100000 Failed requests: 0 Write errors: 0 Keep-Alive requests: 98218 Total transferred: 216397582 bytes HTML transferred: 193405802 bytes Requests per second: 5904.06 [#/sec] (mean) Time per request: 3.388 [ms] (mean) Time per request: 0.169 [ms] (mean, across all concurrent requests) Transfer rate: 12476.75 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.3 0 15 Processing: 0 3 16.8 0 343 Waiting: 0 3 16.7 0 343 Total: 0 3 16.9 0 343 Percentage of the requests served within a certain time (ms) 50% 0 66% 0 75% 0 80% 0 90% 15 95% 15 98% 15 99% 62 100% 343 (longest request) C:\development\covalent\ers\apache2.0\bin> > I haven't tested Filip's connector yet, but that's also my experience with > the AJP/NIO connector: NIO is pretty much useless on Windows. > > -----Original Message----- > > From: Remy Maucherat [mailto:[EMAIL PROTECTED] > > Sent: Monday, June 26, 2006 4:58 AM > > To: Tomcat Developers List > > Subject: Re: NIO vs BIO speed > > > > Filip Hanik - Dev Lists wrote: >> > > yes, I think they are looking pretty good. And I am fairly > > confident in >> > > this new code, as most of it, is old tested APR code. > > > > (Of course, there hasn't been any new changes, so it's not a > > surprise it > > not working any better for me; I did reboot in the meantime, > > though, and > > I am running JRE 1.5.0_06) > > > > Performance with NIO is still bad for me (3 times slower than > > the other > > connectors) with /usr/sbin/ab.exe -n 5000 -c 20 -k > > http://127.0.0.1:8081/tomcat.gif. Throughput seems to vary > > wildly during > > the test. With /usr/sbin/ab.exe -n 5000 -c 20 > > http://127.0.0.1:8081/tomcat.gif (no keepalive), performance is > > horrible, and kills the poller thread after a few hundred iterations > > with the exception I reported earlier: > > 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:1189) > > at java.lang.Thread.run(Unknown Source) > > > > Rémy > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > This message is intended only for the use of the person(s) listed above as the intended recipient(s), and may contain information that is PRIVILEGED and CONFIDENTIAL. If you are not an intended recipient, you may not read, copy, or distribute this message or any attachment. If you received this communication in error, please notify us immediately by e-mail and then delete all copies of this message and any attachments. In addition you should be aware that ordinary (unencrypted) e-mail sent through the Internet is not secure. Do not send confidential or sensitive information, such as social security numbers, account numbers, personal identification numbers and passwords, to us via ordinary (unencrypted) e-mail. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.1.394 / Virus Database: 268.9.3/374 - Release Date: 6/23/2006 --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]