FYI, some performance numbers I collected if any one is interested. * * *
Used default configuration of http://activemq.apache.org/activemq-performance-module-users-manual.html (slightly massaged pom to get it to build, yay maven) Run on quad-core i7 2.93 mac 10.7.2 Apache Maven 3.0.3 (r1075438; 2011-02-28 09:31:09-0800) java version "1.6.0_26" Java(TM) SE Runtime Environment (build 1.6.0_26-b03-383-11A511) Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-383, mixed mode) Ending memory use all roughly: 6M/81M HTTP Transport - Consumer ========================= System Total Throughput: 127673 System Total Clients: 1 System Average Throughput: 531.9708333333333 System Average Throughput Excluding Min/Max: 527.7083333333334 System Average Client Throughput: 531.9708333333333 System Average Client Throughput Excluding Min/Max: 527.7083333333334 Min Client Throughput Per Sample: clientName=JmsConsumer0, value=484 Max Client Throughput Per Sample: clientName=JmsConsumer0, value=539 Min Client Total Throughput: clientName=JmsConsumer0, value=127673 Max Client Total Throughput: clientName=JmsConsumer0, value=127673 Min Average Client Throughput: clientName=JmsConsumer0, value=531.9708333333333 Max Average Client Throughput: clientName=JmsConsumer0, value=531.9708333333333 Min Average Client Throughput Excluding Min/Max: clientName=JmsConsumer0, value=527.7083333333334 Max Average Client Throughput Excluding Min/Max: clientName=JmsConsumer0, value=527.7083333333334 HTTP Transport - Producer ========================= System Total Throughput: 129874 System Total Clients: 1 System Average Throughput: 541.1416666666667 System Average Throughput Excluding Min/Max: 536.8041666666667 System Average Client Throughput: 541.1416666666667 System Average Client Throughput Excluding Min/Max: 536.8041666666667 Min Client Throughput Per Sample: clientName=JmsProducer0, value=488 Max Client Throughput Per Sample: clientName=JmsProducer0, value=553 Min Client Total Throughput: clientName=JmsProducer0, value=129874 Max Client Total Throughput: clientName=JmsProducer0, value=129874 Min Average Client Throughput: clientName=JmsProducer0, value=541.1416666666667 Max Average Client Throughput: clientName=JmsProducer0, value=541.1416666666667 Min Average Client Throughput Excluding Min/Max: clientName=JmsProducer0, value=536.8041666666667 Max Average Client Throughput Excluding Min/Max: clientName=JmsProducer0, value=536.8041666666667 TCP Transport - Consumer ======================== System Total Throughput: 7697735 System Total Clients: 1 System Average Throughput: 32073.895833333332 System Average Throughput Excluding Min/Max: 31803.916666666668 System Average Client Throughput: 32073.895833333332 System Average Client Throughput Excluding Min/Max: 31803.916666666668 Min Client Throughput Per Sample: clientName=JmsConsumer0, value=30656 Max Client Throughput Per Sample: clientName=JmsConsumer0, value=34139 Min Client Total Throughput: clientName=JmsConsumer0, value=7697735 Max Client Total Throughput: clientName=JmsConsumer0, value=7697735 Min Average Client Throughput: clientName=JmsConsumer0, value=32073.895833333332 Max Average Client Throughput: clientName=JmsConsumer0, value=32073.895833333332 Min Average Client Throughput Excluding Min/Max: clientName=JmsConsumer0, value=31803.916666666668 Max Average Client Throughput Excluding Min/Max: clientName=JmsConsumer0, value=31803.916666666668 TCP Transport - Producer ======================== System Total Throughput: 7694119 System Total Clients: 1 System Average Throughput: 32058.829166666666 System Average Throughput Excluding Min/Max: 31799.15 System Average Client Throughput: 32058.829166666666 System Average Client Throughput Excluding Min/Max: 31799.15 Min Client Throughput Per Sample: clientName=JmsProducer0, value=28449 Max Client Throughput Per Sample: clientName=JmsProducer0, value=33874 Min Client Total Throughput: clientName=JmsProducer0, value=7694119 Max Client Total Throughput: clientName=JmsProducer0, value=7694119 Min Average Client Throughput: clientName=JmsProducer0, value=32058.829166666666 Max Average Client Throughput: clientName=JmsProducer0, value=32058.829166666666 Min Average Client Throughput Excluding Min/Max: clientName=JmsProducer0, value=31799.15 Max Average Client Throughput Excluding Min/Max: clientName=JmsProducer0, value=31799.15 TCP was consuming a good portion of the CPU constantly: 4013 - Broker 251% 50th 4060 - Consumer 126% 26th 4069 - Producer 63% 35th HTTP consumed considerably less: 4084 - Broker 56% 50th 4093 - Consumer 37% 37th 4102 - Producer 24% 34th This perf harness does not have a built in option for binary messages (that I could find, looks like its hard coded to TextMessage) so I'd imagine that a BytesMessage w/BASE64 encoding for http transport would degrade performance even more. --jason