Skip to content

Compression Performance Test

bulldog2011 edited this page Apr 15, 2013 · 7 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 performance impact of compression on Luxun messaging system. 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, thread number = 10, flush disabled on broker)

Test Case messge size(bytes) compression nMsgs sent throughput(MB/s) speed(nMsg/s)
TC111 100 NO 2000000 239.6167 2512562.8141
TC112 100 GZip 2000000 210.9899 2212389.3805
TC113 100 Snappy 2000000 249.6530 26177801.0471
TC121 1024 No 2000000 438.0862 381533.7657
TC122 1024 GZip 2000000 490.9816 502765.2086
TC123 1024 Snappy 2000000 1239.2925 1269035.5330
TC131 2048 No 2000000 425.1469 217675.2286
TC132 2048 GZip 2000000 483.3870 247494.1220
TC133 2048 Snappy 2000000 601.9803 308213.9004
TC141 4096 No 2000000 199.4460 51058.1808
TC142 4096 GZip 2000000 513.6423 131492.4392
TC143 4096 Snappy 2000000 880.1825 225326.7237

###Test Suite 2 - Standalone Sync Producing(thread number = 10, flush disabled on broker)

Test Case messge size(bytes) Compression nMsgs sent throughput(MB/s) speed(nMsg/s)
TC211 100 No 2000000 7.2561 76086.1295
TC212 100 GZip 2000000 3.1407 32932.1105
TC213 100 Snappy 2000000 6.1625 64618.2676
TC221 1024 No 2000000 70.6937 72390.3287
TC222 1024 GZip 2000000 30.1250 30848.0118
TC223 1024 Snappy 2000000 60.0186 61459.0376
TC231 2048 No 2000000 110.6994 56678.0967
TC232 2048 GZip 2000000 51.9386 26592.5621
TC233 2048 Snappy 2000000 105.7888 54163.8456
TC241 4096 No 2000000 138.3821 35425.8183
TC242 4096 GZip 2000000 87.6745 22444.6739
TC243 4096 Snappy 2000000 101.2533 25920.8378

###Test Suite 3 - Standalone Consuming(fetch size = 1024 * 1024bytes, thread number = 10)

Test Case messge size(bytes) compression nMsgs fetched throughput(MB/s) speed(nMsg/s)
TC311 100 No 2000000 227.0653 2380952.3810
TC312 100 GZip 2000000 166.8721 1749781.2773
TC313 100 Snappy 2000000 363.9978 3816793.8931
TC321 1024 No 2000000 346.6860 301932.3671
TC322 1024 GZip 2000000 261.7779 268060.5817
TC323 1024 Snappy 2000000 779.0686 797766.2545
TC331 2048 No 2000000 340.6811 174428.7459
TC332 2048 GZip 2000000 251.0121 128518.1853
TC333 2048 Snappy 2000000 674.7711 345482.8122
TC341 4096 No 2000000 323.1778 82733.5153
TC342 4096 GZip 2000000 256.3829 65634.0247
TC343 4096 Snappy 2000000 722.8442 185048.1125