I hope you are as excited as I am about performance topic – “whichever or whoever” performance it is – cars, computer hardware, software, triathlon (my personal favorite) or something else. As you may or may not know, there is industry benchmark for Java EE server performance, called SPECjEnterprise2010. The application source code is public and anyone can run the test to compare his favorite Java EE server against other published results. I have posted several articles in the past with my analysis of how IBM WebSphere Application Server runs faster at lower cost compared to Oracle WebLogic.
However there is no industry standard for ESB performance test. Over years different vendors came up with their own benchmarks and some published results, some even published source code for their applications and load scripts. Today I am publishing result of my own ESB performance tests for IBM WebSphere Message Broker v184.108.40.206 and Oracle Service Bus 11gR1 (latest version at the time of this writing). In July 2013 IBM has shipped new version of the ESB and renamed it into IBM Integration Bus v9. I did not test this latest version, but IBM claims to have significant performance improvements at many different levels in this new release of the product.
Unfortunately due to the Oracle license restriction I am not able to make their numbers public. However I am sharing Message Broker performance numbers and publishing application source code for the IBM and for Oracle ESBs along with installation and setup instructions. This way you can compare IBM and Oracle performance on your own hardware. Needless to say I have a good feel for the performance difference you will get with these products. Expect around 240% performance difference. Because of Oracle license agreement, I can’t say which product is faster. 🙂
You can find performance results for Message Broker, installation instructions and application code for both vendor ESBs here:
- Application description and installation instructions (google docs link), or you could use HTML version
- Source code for IBM and Oracle ESB application (zip file)
- Performance results (google docs link), or you could use HTML version
You can see detailed description and the source of the InsuranceApp in the #1 link above, but for those of you not willing to read the entire manual, here is a simplified architecture of the application and the topology:
As you can see from the picture above, the VM#2 is pretty loaded with ESB and Messaging software and it hosts all the services for the benchmark (except for the database), including HTTP services, JMS services, database access services, file services, etc. All of these are being tested under heavy load. On my 4 core configuration, IBM WebSphere Message Broker with all these services on an IBM xSeries machine was able to handle average of 376 transactions per second (this would be 32.5 Million transactions per day on 4 core machine!!!). Once again, each of these transactions had multiple accesses to the database, JMS transactional queues with persistence, HTTP services, etc. Can your ESB and messaging server handle this?
Here is preview of the WebSphere Message Broker performance results with variable input workload:
PS. You may also be interested in this other post that compares features and costs of WMB vs. OSB.
PS2. For performance reports on WebSphere Message Broker (IBM Integration Bus), WebSphere MQ, please see this link. These reports include Appendix E with performance tuning tips.