The testing environment is the same as the previous tests except that anonymous software SSL was enabled.
There are a total of three cases:
- IO Server, IO Client
- Converted IO Server, Converted IO Client
- Converted IO w/ Selector Server, Converted IO Client
“IO” uses the standard Java IO (from the
java.net). “Converted IO” is an NIO wrapper to
OutputStream. The server with “Converted IO” uses a separate thread per client. The server with “Converted IO w/ Selector” uses a single thread for all clients and switches between them using an NIO
- Comparing with the non-SSL tests you can see that there is a significant (~50%) but expected loss in throughput.
- As hoped, the difference between Converted IO and Converted IO using a Selector decreased dramatically (from ~33% to ~7%) due to the overhead of SSL.
- Unfortunately, the difference between IO and Converted IO became more pronounced (from ~11% to ~25%). I do not have an explanation at this point and more investigation is needed.
A special thanks goes out to Carlo Segre for use of the cluster.
Link-back to main entry: NIO and SSL.