I re-worked the sample test code that Stefan posted so I could use it to test
my changes. I'm not sure really how to turn this in to a unit-test, since
it's simply an implementation evaluation test tool, and not really a
validation test. Anyway, I had to change to use high-resolution timers,
because the DateTime.Now timer is only accurate to within 10-milliseconds.
The margin of error is too great for this type of time test. Here is the
modified source file: http://www.nabble.com/file/p19208717/nmsspeedtest.cs
nmsspeedtest.cs . (Caveat: this code will only work with my dev build due
to the patches I have made to it, but not checked in. If the changes look
good, then this code will work after I commit them.)
Here are the results from running the same test scenario multiple times with
different URI connections. I am sure this could be formatted very
effectively into a spreadsheet to make the comparisons easier to make.
Scenario: tcp://localhost:61616
Test 0
Request message sent 7.416
Request message recv 23.886
Reply message sent 189.227
Reply message recv 203.935
Test 1
Request message sent 93.864
Request message recv 108.159
Reply message sent 312.878
Reply message recv 313.595
Test 2
Request message sent 217.790
Request message recv 218.346
Reply message sent 436.549
Reply message recv 437.026
Test 3
Request message sent 327.617
Request message recv 328.142
Reply message sent 546.322
Reply message recv 546.811
Test 4
Request message sent 218.215
Request message recv 218.910
Reply message sent 436.943
Reply message recv 437.724
Scenario: tcp://localhost:61616?wireformat.TcpNoDelayEnabled=true
Test 0
Request message sent 0.917
Request message recv 1.538
Reply message sent 193.286
Reply message recv 194.667
Test 1
Request message sent 217.301
Request message recv 217.859
Reply message sent 326.716
Reply message recv 327.204
Test 2
Request message sent 218.146
Request message recv 218.704
Reply message sent 436.883
Reply message recv 437.368
Test 3
Request message sent 218.257
Request message recv 218.806
Reply message sent 437.070
Reply message recv 437.551
Test 4
Request message sent 218.213
Request message recv 218.759
Reply message sent 436.799
Reply message recv 437.330
Scenario:
tcp://localhost:61616?wireformat.TcpNoDelayEnabled=true&transport.TcpNoDelayEnabled=true
Test 0
Request message sent 0.927
Request message recv 1.664
Reply message sent 2.787
Reply message recv 4.380
Test 1
Request message sent 2.893
Request message recv 3.137
Reply message sent 3.998
Reply message recv 4.451
Test 2
Request message sent 0.740
Request message recv 1.505
Reply message sent 2.392
Reply message recv 3.129
Test 3
Request message sent 0.892
Request message recv 1.560
Reply message sent 3.860
Reply message recv 4.113
Test 4
Request message sent 1.944
Request message recv 2.286
Reply message sent 3.296
Reply message recv 3.973
Scenario: tcp://localhost:61616?transport.TcpNoDelayEnabled=true
Test 0
Request message sent 0.872
Request message recv 1.488
Reply message sent 2.360
Reply message recv 316.090
Test 1
Request message sent 1.167
Request message recv 1.879
Reply message sent 2.810
Reply message recv 327.778
Test 2
Request message sent 1.000
Request message recv 1.714
Reply message sent 2.591
Reply message recv 328.174
Test 3
Request message sent 1.012
Request message recv 1.614
Reply message sent 2.534
Reply message recv 328.014
Test 4
Request message sent 1.184
Request message recv 2.145
Reply message sent 3.108
Reply message recv 327.948
Scenario: tcp://localhost:61616?transport.FlushOnSend=false
Test 0
Request message sent 0.929
Request message recv 1.482
Reply message sent 186.404
Reply message recv 310.162
Test 1
Request message sent 208.501
Request message recv 209.045
Reply message sent 422.967
Reply message recv 437.409
Test 2
Request message sent 204.270
Request message recv 218.588
Reply message sent 423.038
Reply message recv 437.158
Test 3
Request message sent 204.557
Request message recv 218.779
Reply message sent 423.333
Reply message recv 423.817
Test 4
Request message sent 218.128
Request message recv 232.447
Reply message sent 546.299
Reply message recv 546.842
Scenario:
tcp://localhost:61616?transport.FlushOnSend=false&wireformat.TcpNoDelayEnabled=true
Test 0
Request message sent 0.923
Request message recv 1.492
Reply message sent 197.586
Reply message recv 198.975
Test 1
Request message sent 107.992
Request message recv 108.498
Reply message sent 326.686
Reply message recv 327.163
Test 2
Request message sent 218.160
Request message recv 218.718
Reply message sent 436.868
Reply message recv 437.356
Test 3
Request message sent 218.434
Request message recv 219.241
Reply message sent 436.955
Reply message recv 437.511
Test 4
Request message sent 108.951
Request message recv 109.811
Reply message sent 327.641
Reply message recv 328.263
Scenario:
tcp://localhost:61616?transport.FlushOnSend=false&wireformat.TcpNoDelayEnabled=true&transport.TcpNoDelayEnabled=true
Test 0
Request message sent 1.541
Request message recv 1.772
Reply message sent 2.780
Reply message recv 4.172
Test 1
Request message sent 2.715
Request message recv 2.944
Reply message sent 3.763
Reply message recv 4.260
Test 2
Request message sent 3.308
Request message recv 3.549
Reply message sent 4.516
Reply message recv 5.018
Test 3
Request message sent 3.625
Request message recv 3.847
Reply message sent 4.795
Reply message recv 5.251
Test 4
Request message sent 2.847
Request message recv 3.063
Reply message sent 3.894
Reply message recv 4.393
Scenario:
tcp://localhost:61616?transport.FlushOnSend=false&transport.TcpNoDelayEnabled=true
Test 0
Request message sent 0.881
Request message recv 2.312
Reply message sent 3.592
Reply message recv 207.325
Test 1
Request message sent 1.180
Request message recv 4.225
Reply message sent 5.124
Reply message recv 218.459
Test 2
Request message sent 1.010
Request message recv 1.670
Reply message sent 2.613
Reply message recv 219.084
Test 3
Request message sent 3.590
Request message recv 3.829
Reply message sent 4.762
Reply message recv 218.286
Test 4
Request message sent 1.022
Request message recv 1.743
Reply message sent 2.655
Reply message recv 218.643
--
View this message in context: http://www.nabble.com/Slow-performance-of-NMS-api-compared-to-Java-tp19158553p19208717.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.
|