Skip to content

Performance Test on Windows 7

bulldog2011 edited this page Apr 19, 2013 · 21 revisions

#Performance Test on Windows 7

Tests on single machine

In the following tests, one producer process, one consumer process and one broker process all run on my server(Win7, HD with NTFS), and there is only one active topic on broker for testing in each round. These tests are performed to check the pure performance of Luxun messaging system by separating the impact of network. See full hardware spec for benchmark here.

JVM setting:

  1. producer : -Xmx1g
  1. consuemr : -Xmx1g
  2. broker : -Xmx4g

###Test Suite 1 - Standalone Async Producing(batch size = 200, flush disabled on broker)

Test Case messge size(bytes) thread number nMsgs sent throughput(MB/s) speed(nMsg/s)
TC11 100 1 2000000 110.8924 1162790.6977
TC12 1024 1 2000000 336.1661 344234.0792
TC13 2048 1 2000000 394.5707 202020.2020
TC14 4096 1 2000000 403.9555 103412.6163
TC15 100 10 2000000 244.5319 2564102.5641
TC16 1024 10 2000000 453.1613 464037.1230
TC17 2048 10 2000000 438.4119 224466.8911
TC18 4096 10 2000000 423.4417 108401.0840

###Test Suite 2 - Standalone Sync Producing(flush disabled on broker)

Test Case messge size(bytes) thread number nMsgs sent throughput(MB/s) speed(nMsg/s)
TC21 100 1 2000000 10.6914 112107.6233
TC22 1024 1 2000000 91.1398 93327.1115
TC23 2048 1 2000000 144.2485 73855.2437
TC24 4096 1 2000000 177.6780 45485.5583
TC25 100 10 2000000 21.3112 223463.6872
TC26 1024 10 2000000 124.8801 127877.2379
TC27 2048 10 2000000 162.5572 83229.2967
TC28 4096 10 2000000 139.0125 35587.1886

###Test Suite 3 - Standalone Consuming(fetch size = 1024 * 1024bytes)

Test Case messge size(bytes) thread number nMsgs fetched throughput(MB/s) speed(nMsg/s)
TC31 100 1 2000000 222.3017 2331002.3310
TC32 1024 1 2000000 331.9947 339962.6041
TC33 2048 1 2000000 340.7406 174459.1766
TC34 4096 1 2000000 274.8558 70363.0735
TC35 100 10 2000000 210.9899 2212389.3805
TC36 1024 10 2000000 319.7030 327375.8865
TC37 2048 10 2000000 342.8517 175540.0952
TC38 4096 10 2000000 327.7624 83907.1854

###Test Suite 4 - Concurrent Producing(Async) & Consuming(batch size = 200, fetch size = 1024 * 1024bytes, flush disabled on broker)

Test Case messge size(bytes) thread number nMsgs sent/fetched producer throughput(MB/s) producer speed(nMsg/s) consumer throughput(MB/s) consumer speed(nMsg/s)
TC41 1024 20(p:10, c:10) 50000000 117.0237 119832.2349 121.5719 124489.5927

Tests on single machine with default JVM setting

In the following tests, one producer process, one consumer process and one broker process all run on my server(Win7, HD with NTFS), and there is only one active topic on broker for testing in each round. These tests are performed to check the pure performance of Luxun messaging system with default JVM setting. See full hardware spec for benchmark here.

JVM setting: default

###Test Suite 1 - Standalone Async Producing(batch size = 200, flush disabled on broker)

Test Case messge size(bytes) thread number nMsgs sent throughput(MB/s) speed(nMsg/s)
TC11 100 1 2000000 147.8565 1550387.5969
TC12 1024 1 2000000 390.6250 400000
TC13 2048 1 2000000 478.7071 245098.0392
TC14 4096 1 2000000 232.3075 59470.7107
TC15 100 10 2000000 164.4266 1724137.9310
TC16 1024 10 2000000 231.6874 237247.9241
TC17 2048 10 2000000 338.2035 173160.1732
TC18 4096 10 2000000 139.1362 35618.8780

###Test Suite 2 - Standalone Sync Producing(flush disabled on broker)

Test Case messge size(bytes) thread number nMsgs sent throughput(MB/s) speed(nMsg/s)
TC21 100 1 2000000 10.4341 109409.1904
TC22 1024 1 2000000 91.7822 93984.9624
TC23 2048 1 2000000 128.8766 65984.8235
TC24 4096 1 2000000 138.2010 35379.4445
TC25 100 10 2000000 20.8453 218579.2350
TC26 1024 10 2000000 115.3647 118133.4908
TC27 2048 10 2000000 123.8899 63431.6524
TC28 4096 10 2000000 136.1276 34848.6697

###Test Suite 3 - Standalone Consuming(fetch size = 1024 * 1024bytes)

Test Case messge size(bytes) thread number nMsgs fetched throughput(MB/s) speed(nMsg/s)
TC31 100 1 2000000 190.7349 2000000
TC32 1024 1 2000000 306.1804 313528.7663
TC33 2048 1 2000000 217.1949 111203.7809
TC34 4096 1 2000000 324.1432 82980.6655
TC35 100 10 2000000 231.1938 2424242.4242
TC36 1024 10 2000000 332.6167 340599.4550
TC37 2048 10 2000000 360.9212 184791.6474
TC38 4096 10 2000000 340.4584 87157.3626

Tests on multiple machines

In the following tests, one broker runs on my server, one producer process and one consumer process run on my notebook(Win7), and there is only one active topic on borker for testing in each round. These tests are performed to check the performance of Luxun messaging system in networking environment. The switch used is a very cheap 1g switch, see full hardware spec for benchmark here.

JVM setting:

  1. producer : -Xmx1g
  1. consuemr : -Xmx1g
  2. broker : -Xmx4g

###Test Suite 1 - Standalone Async Producing(batch size = 200, flush disabled on broker)

Test Case messge size(bytes) thread number nMsgs sent throughput(MB/s) speed(nMsg/s)
TC11 100 1 2000000 18.4964 193948.7975
TC12 1024 1 2000000 55.0564 56377.7308
TC13 2048 1 2000000 59.4351 30430.7472
TC14 4096 1 2000000 75.6607 19369.1469
TC15 100 10 2000000 76.8782 806126.5619
TC16 1024 10 2000000 107.5628 110144.2890
TC17 2048 10 2000000 111.0424 56853.7154
TC18 4096 10 2000000 106.1020 27162.1034

###Test Suite 2 - Standalone Sync Producing(flush disabled on broker)

Test Case messge size(bytes) thread number nMsgs sent throughput(MB/s) speed(nMsg/s)
TC21 100 1 2000000 6.3057 66120.0741
TC22 1024 1 2000000 16.2444 16634.2299
TC23 2048 1 2000000 15.9745 8178.9555
TC24 4096 1 2000000 15.5229 3973.8678
TC25 100 10 2000000 7.7975 81762.8061
TC26 1024 10 2000000 57.6960 59080.7042
TC27 2048 10 2000000 73.8212 37796.4660
TC28 4096 10 2000000 83.7739 21446.1113

###Test Suite 3 - Standalone Consuming(fetch size = 1024 * 1024bytes)

Test Case messge size(bytes) thread number nMsgs fetched throughput(MB/s) speed(nMsg/s)
TC31 100 1 2000000 58.7238 615763.5468
TC32 1024 1 2000000 75.1433 76946.7528
TC33 2048 1 2000000 75.9380 38880.2488
TC34 4096 1 2000000 75.7568 19393.7513
TC35 100 10 2000000 62.8837 658544.6164
TC36 1024 10 2000000 74.5438 76332.9644
TC37 2048 10 2000000 76.1497 38988.6348
TC38 4096 10 2000000 74.8639 19165.1654

###Test Suite 4 - Concurrent Producing(Async) & Consuming(batch size = 200, fetch size = 1024 * 1024bytes, flush disabled on broker)

Test Case messge size(bytes) thread number nMsgs sent/fetched producer throughput(MB/s) producer speed(nMsg/s) consumer throughput(MB/s) consumer speed(nMsg/s)
TC41 1024 20(p:10, c:10) 5000000 107.9313 110521.6622 59.7257 61159.0870