Folks, NIO extensions (first take) are ready for review. Feel free to take a look and let me know what you think. Feedback, suggestions, critique will be highly appreciated.
I wrote a short description of the HttpCore NIO API the best way I could: http://wiki.apache.org/jakarta-httpclient/HttpCoreNioApi There are also a couple of samples to show the new API in action. It is premature to draw any conclusions yet but preliminary test results show that NIO tends to perform significantly worse under heavy load than the classic I/O. I'll be doing more tests with various scenarios (small/ large content entities, POST/GET request types, lots of idle connections and a few ones under heavy load, and so on) to make the picture more complete. Oleg ============================================= HttpCore on MINA ============================================= Server Software: MINA-HttpServer/1.1 Server Hostname: localhost Server Port: 8080 Document Path: /index.html Document Length: 12928 bytes Concurrency Level: 50 Time taken for tests: 42.598608 seconds Complete requests: 100000 Failed requests: 0 Write errors: 0 Keep-Alive requests: 100000 Total transferred: 1308751914 bytes HTML transferred: 1293048774 bytes Requests per second: 2347.49 [#/sec] (mean) Time per request: 21.299 [ms] (mean) Time per request: 0.426 [ms] (mean, across all concurrent requests) Transfer rate: 30002.81 [Kbytes/sec] received ============================================= HttpCore (NIO) ============================================= Server Software: Jakarta-HttpComponents-NIO/1.1 Server Hostname: localhost Server Port: 8080 Document Path: /index.html Document Length: 12928 bytes Concurrency Level: 50 Time taken for tests: 46.386961 seconds Complete requests: 100000 Failed requests: 0 Write errors: 0 Keep-Alive requests: 100000 Total transferred: 1309763840 bytes HTML transferred: 1292960480 bytes Requests per second: 2155.78 [#/sec] (mean) Time per request: 23.193 [ms] (mean) Time per request: 0.464 [ms] (mean, across all concurrent requests) Transfer rate: 27573.83 [Kbytes/sec] received ============================================= HttpCore (classic) ============================================= Server Software: Jakarta-HttpComponents/1.1 Server Hostname: localhost Server Port: 8080 Document Path: /index.html Document Length: 12928 bytes Concurrency Level: 50 Time taken for tests: 26.785007 seconds Complete requests: 100000 Failed requests: 0 Write errors: 0 Keep-Alive requests: 100000 Total transferred: 1309278552 bytes HTML transferred: 1292877568 bytes Requests per second: 3733.43 [#/sec] (mean) Time per request: 13.393 [ms] (mean) Time per request: 0.268 [ms] (mean, across all concurrent requests) Transfer rate: 47735.36 [Kbytes/sec] received --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
