Details
-
Bug
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
2.0.0-RC1
-
None
-
None
-
WinXP SP3 with disabled Firewall + Virusscanner, Win7 64bit with disabled Virusscanner and Firewall, Win7 32bit with absolutely no virusscanner and with disabled firewall, all Systems with 32bit JRE6U20
Ubuntu Linux 64bit mit JRE6U20 64bit
Description
Hi there,
I've written a kind of RMI replacement uses MINA for network communication layer that is also able to transfer files very fast (without reflection and complex serialisation stuff). One of my customers faced a performance problem as soon as the receiving application part is running in Win7.
I tried to create an reproducer:
First I wrote a small test application using Java IO that simply transfers 1.000.000 bytes of random data from a client to a server. That's very fast. It doesn't matter if I try on localhost, or from WinXP->Win7 oder Win7->WinXP. Even Linux->Win7 is fast.
Then I wrote the same kind of application with mina. No additional codec, nothing complex. I just transfer 100 IoBuffers with 10.000 bytes each from A to B.
If I run the application on WinXP via localhost, it's very fast. <1sec runtime.
If I run client and server in Win7, it's f*cking slow. Takes >1min to complete.
Please find attached the test application.
Just extract and run:
java -cp MINASocketTransfer.jar;./lib/* minasockettransfer.Client <IP or Hostname of Server>
java -cp MINASocketTransfer.jar;./lib/* minasockettransfer.Server
The lib folder contains 2.0.0M6 and 2.0.0RC1. To switch from the one to the other version, simple "move" the tailing "_" to exclude the specified lib from classpath.
Java-Source files are included in the MINASocketTransfer.jar ...
I tested it with 2.0.0M6 and 2.0.0RC1. It's reproducible with both versions.