SelectChannelConnector is extremely slow when client AND server run windows. Serving the same ~14MB jar file takes ~88 seconds (163 kB/s) using SelectChannelConnector and ~1 second (11,8 MB/s) using SocketConnector.
When the client uses a smaller buffer than 32kB (see client example) , the download becomes a bit faster (up to 460 kB/s).
(unfortunately, javaws 1.5 uses 32kB).
When the server runs on freebsd and the client on windows, I get about 8-9 MB/s using the SelectChannelConnector.
I will attach the following:
- test server which serves the current directory using SelectChannelConnector on port 18080 and SocketConnector on port 18081
- test client which connects to the server on both ports and measures time and speed
- a big jarfile which is served
- Insert server hostname in SlowClient.java
- compile client and server
- Put SlowServer.class, big.jar and jetty libraries on one windows box and SlowClient.class on another windows box, both being connected via 100MBit ethernet.
- run server and client