Date Posted: August 18, 2005
Update: February 17, 2009
Version 1.2 introduces support for MQ V.7 and Java 5. More transports can now be tested including HTTP/SOAP. Many bug fixes are also included.
What is Performance Harness for Java Message Service?
The Java Message Service API offers a vendor-neutral approach to messaging in Java and J2EE environments. For both vendors developing JMS services and customers using those services, an understanding of the performance characteristics is a key feature of creating the best solution possible.
Performance Harness for Java Message Service is a flexible and modular Java package for performance testing of JMS scenarios and providers. It provides a complete set of JMS functionality, as well as many other features such as throttled operation (a fixed rate and/or number of messages), multiple destinations, live performance reporting, JNDI, and multiple vendor plug-ins. It is one of the many tools used by performance teams for WebSphere MQ, WebSphere Business Integration Message Broker, and WebSphere Business Integration Event Broker in order to conduct tests ranging from a single client to more than 10,000 clients.
This tool is also packaged with a plug-in for performance testing of the (non-JMS) "Java for WebSphere MQ" API.
Version 1.2
With the release of v1.2 the tool extends beyond the realm of JMS Messaging to include native MQ, as well as support for other transports such as HTTP/SOAP, to allow the tool to more fully drive the various transports that ESB implementations such as WebSphere ESB and WebSphere Message Broker provide.
What's new in version 1.2?
- Support for WebSphere MQ V.7
- Support for Java5
- HTTP module added to allow the testing of HTTP and SOAP Transports
- New options to many modules
- Many bug fixes.
How does it work?
Performance Harness for Java Message Service is a modular tool and certain modules must be selected via the command line for different modes of operation. At any time, flags can be used to get help on the current context. The first decision is which JMS provider class to use. The three choices packaged with this tool are WebSphereMQ, WBIMB, and JNDI. The first two allow settings specific to the products to be passed on the command line. The (default) JNDI module works with access to JMS administered objects, which allow operation with most JMS vendors.
There are many modules implementing point-to-point and publish-subscribe modes of operation, which can be explored through the documentation. Each of these modules, when selected, sends or receives messages from the selected JMS provider as fast it can (unless a certain rate is specified). They share a common command line reporting mechanism and will print their current throughput rate on a user-selected periodic basis and their output summary statistics at the end of a test. The included help and documentation provide detailed usage instructions and describe many further features and configuration parameters for investigation.
About the technology author(s)
Rich Bicheno works in the WebSphere Message Broker performance team in IBM Hursley. He works as a Performance Specialist, working with the development teams to develop new releases of WebSphere Message Broker, and with customers to provide consultancy on design, configuration, and tuning issues relating to this product. He can be reached at Rich_Bicheno@uk.ibm.com.
