Skip to content

Instantly share code, notes, and snippets.

@jcoglan
Created June 24, 2010 23:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jcoglan/452128 to your computer and use it in GitHub Desktop.
Save jcoglan/452128 to your computer and use it in GitHub Desktop.
Quick and dirty benchmark using CometD load testing tool.
See http://cometd.org/documentation/howtos/loadtesting
Side note: CometD doesn't implement handshakes correctly, so you
need to hack Faye.Server#handshake to provide a default value:
var clientConns = message.supportedConnectionTypes || ['long-polling'];
Also, drop the timeout on the server down to about 5 seconds.
Using default settings, except:
rooms per client: 5
clients: 900
Notes:
| CometD (Java) | Faye (Node)
-------------|---------------|-------------
Peak memory | 600Mb | 60Mb
Idle memory | 250Mb | 6Mb
CPU load | 206 | 130
Latency | 139ms | 1146ms
Messages/s | 611 | 807
----------------------------------------------------------------
CometD Java server
Elapsed time: 16358 ms
Time in JIT compilation: 423 ms
Time in Young Generation GC: 2908 ms (26 collections)
Time in Old Generation GC: 0 ms (0 collections)
Garbage Generated in Young Generation: 640.46924 MiB
Garbage Generated in Survivor Generation: 123.29709 MiB
Garbage Generated in Old Generation: 179.76236 MiB
Average CPU Load: 206.1309/400
Outgoing: Elapsed | Rate = 16358 ms | 611 messages/s - 61 requests/s
All messages arrived 2175660/449338
Messages - Success/Expected = 2175660/449338
Incoming - Elapsed | Rate = 16356 ms | 133017 messages/s
Messages - Wall Latency Distribution Curve (X axis: Frequency, Y axis: Latency):
@ _ 439 ms (2159154)
@ _ 877 ms (3531)
@ _ 1315 ms (2680)
@ _ 1753 ms (3170)
@ _ 2191 ms (1820)
@ _ 2629 ms (2055)
@ _ 3067 ms (1821)
@ _ 3504 ms (1344)
@ _ 3942 ms (1530)
@ _ 4380 ms (1075)
@ _ 4818 ms (960)
@ _ 5256 ms (2960)
@ _ 5694 ms (600)
@ _ 6132 ms (805)
@ _ 6570 ms (590)
@ _ 7007 ms (490)
@ _ 7445 ms (590)
@ _ 7883 ms (570)
@ _ 8321 ms (410)
@ _ 8759 ms (285)
Messages - Wall Latency Min/Ave/Max = 2/139/8759 ms
----------------------------------------------------------------
Faye server
Elapsed time: 12391 ms
Time in JIT compilation: 564 ms
Time in Young Generation GC: 1687 ms (11 collections)
Time in Old Generation GC: 0 ms (0 collections)
Garbage Generated in Young Generation: 914.94324 MiB
Garbage Generated in Survivor Generation: 65.120346 MiB
Garbage Generated in Old Generation: 190.63426 MiB
Average CPU Load: 131.29779/400
Outgoing: Elapsed | Rate = 12391 ms | 807 messages/s - 80 requests/s
All messages arrived 2035770/450329
Messages - Success/Expected = 2035770/450329
Incoming - Elapsed | Rate = 12261 ms | 166032 messages/s
Messages - Wall Latency Distribution Curve (X axis: Frequency, Y axis: Latency):
@ _ 174 ms (33691)
@ _ 339 ms (104211)
@ _ 505 ms (173297)
@ _ 670 ms (194515)
@ _ 836 ms (214674)
@ _ 1001 ms (241992)
@ _ 1166 ms (223884)
@ _ 1332 ms (222942)
@ _ 1497 ms (225537)
@ _ 1663 ms (170436)
@ _ 1828 ms (125210)
@ _ 1993 ms (78253)
@ _ 2159 ms (48144)
@ _ 2324 ms (23839)
@ _ 2490 ms (8782)
@ _ 2655 ms (3337)
@ _ 2820 ms (678)
@ _ 2986 ms (110)
@ _ 3151 ms (0)
@ _ 3317 ms (40)
Messages - Wall Latency Min/Ave/Max = 9/1146/3317 ms
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment