Version 9

    This page is now obselete - this has been superceded by the new JMS performance benchmark


    JBoss JMS Performance Benchmarking framework.




    The Performance Benchmarking framework is based on the Distributed Test Framework.All the classes extend DistributedTestCase


    • Main test case spawns separate VM for each producer / consumer.It also acts as a controller

    • Waiting for all the VMs to come up and be in the ready state: this is achieved by using Jgroups as the synchronization mechanism.

    • Synchronize send receive in such a way that receiver is ready to receive messages before the producer starts

    • Producer and consumer publish the start and end times to the controller using object called TimerHolder

    • Controller gathers theTimerHolder object and publishes the time taken for each message from the producer to the consumer.

    • TimerHolder object is sent in batches to reduce the CPU consumption for the same

    • The result is published as a report into a csv file which can be opened in any spreadsheet application and analysed

    • All the operations related to administered objects are abstracted out into an abstract class.The actual implementation is specified in the file.


    • The benchmark is made up of the following source files

      • org.jboss.dtf.DistributedTestCase











        • Contents of this file are


    Getting Started

    • Performance test case are run like normal junit test cases from the jboss-head/jms/tests directory




    E:\rajdeep\jboss\jboss-head\jms\tests>ant -f build_mq.xml test -Dlog=warn -Dtest.classname=org.jboss.test.messaging.jms. perf.DistributedProducerSynchConsumerTestCase

    • Each JMS server implementation will need its own build file

    • Logging is specified as a command line using -Dlog=warn syntax

      • Each VM has its own log file in in the jboss-head/jms/tests/log directory


    Performance Test Report


    Performance test report will be published as a performance_report.csv file in the directory where the test has been run

    Sample File

    Test results for test: org.jboss.test.messaging.jms.perf.DistributedProducerSynchConsumerTestCase When run: Thu May 05 13:00:10 GMT 2005 Total No of Msgs:,50 ,Actual No of Msgs:,50 ,AvgTime:,23.6 Total No of Msgs:,100 ,Actual No of Msgs:,100 ,AvgTime:,27.0 Total No of Msgs:,150 ,Actual No of Msgs:,150 ,AvgTime:,48.6