Tomorrow Paul, Ruwan and I will be taking users through some interesting integration scenarios based on some real customer deployments, during the "Example integration scenarios with WSO2 ESB 1.7" webinar!
Be sure to register here for it, and the other upcoming webinars on the leading open source enterprise service bus (ESB)
http://wso2.com/about/news/esb-webinar-series-july-08/
Monday, June 30, 2008
Thursday, June 26, 2008
WSO2 Enterprise Service Bus (ESB) Webinar series
The WSO2 Enterprise Service Bus (ESB) team will be conducting a series of webinars, that will introduce some of the new features of the WSO2 ESB 1.7, common integration scenarios, the support for Financial messaging with FIX and complex event processing
Be sure to register! More details from: http://wso2.com/about/news/esb-webinar-series-july-08/
Be sure to register! More details from: http://wso2.com/about/news/esb-webinar-series-july-08/
Tuesday, June 24, 2008
Improved handling of large messages using constant memory, via connection throttling
I recently updated the Apache Synapse ESB http/s transport module, and replaced the use of OS Pipes and buffers we had, with shared buffers from the Apache HttpCore/NIO library. Oleg Kalnichevski suggested this approach over an year back, and has helped us immensely over the years, in our efforts to build the fastest open source Enterprise Service Bus around!
This approach uses a constant size shared buffer to read a message from the NIO reactor, into the application processing threads, and signals the channel (i.e. TCP socket) that we are not willing to accept any more data - when this buffer fills up - effectively throttling the connection. This allows us to handle very large messages without requiring loads of heap memory. Now we can handle extremely high concurrency rates, as well as large messages - without dropping any!
Read the latest performance numbers for Apache Synapse ESB / WSO2 ESB here: http://wso2.org/library/3740
This approach uses a constant size shared buffer to read a message from the NIO reactor, into the application processing threads, and signals the channel (i.e. TCP socket) that we are not willing to accept any more data - when this buffer fills up - effectively throttling the connection. This allows us to handle very large messages without requiring loads of heap memory. Now we can handle extremely high concurrency rates, as well as large messages - without dropping any!
Read the latest performance numbers for Apache Synapse ESB / WSO2 ESB here: http://wso2.org/library/3740
Monday, June 23, 2008
WSO2 Enterprise Service Bus (ESB) Performance Testing - Round 3
We have just concluded the third round of Enterprise Service Bus (ESB) performance testing here at WSO2!
Its great to hear that even BEA / Oracle was very much interested about the performance numbers we demonstrated last year, and wanted to beat our numbers with their latest release of AquaLogic Service Bus 3.0 on Weblogic 10. I think this demonstrates a level of trust by the Enterprise Service Bus (ESB) vendors and users alike, on the tests we conducted. Several users re-ran some of the tests themselves, during the past year; while some vendors promised to re-run the tests and publish their response, but have so far failed to talk about the results they obtained. Ross Mason from Mulesource has been wanting to publish performance test results for Mule for the last 2 years! The fact that we made the configurations/tuning and the tools used openly available, and asked for help from the vendors to optimally configure their ESB's for the scenarios, and reporting back any problems we encountered adds to the level of openness we demonstrated. Additionally this round of testing shows that even the WSO2 Enterprise Service Bus (ESB) / Apache Synapse Enterprise Service Bus (ESB) has room for improvement against a proprietary ESB that we benchmarked against, but also shows a very clear lead against the other open source alternatives.
It should be noted that the advantages of the WSO2 Enterprise Service Bus (ESB) does not lie only on its low resource usage foot print, excellent performance or scalability or its free and open source Apache License v2.0 alone; but in its ease of use, the ability to define a configuration graphically, and the fact that it ships over 55 working samples and documentation that demonstrates various features to help users become effective from day 1. Add to this the excellent level of free support that users always talk about, and compare this to some of the mailing lists for other open source ESB's where you hardly would get a reply to a technically challenging question.
Let me just highlight some of the observations and conclusions here
- Mule CE 2.0.1 couldn't handle the cases where we used a concurrency level of 80; while other ESB's scaled to support to over 2500 concurrent connections. This was after tuning the maximum active thread count to 100 from its default value, which limited Mule to a very few concurrent connections.
- A proprietary version of an open source ESB had the same problem described above. However, we cannot name this ESB due to its restrictive license which states that we cannot : “..publicly disseminate performance information or analysis (including, without limitation, benchmarks) from any source relating to the Software.”. One of my friends commented that the above line is a “Nice way to "performance tune" your slow app :P”
- Mule CE 2.0.1 also dropped 1% of ALL requests it received
- Apache ServiceMix 3.2.1 failed to forward the incoming SOAPAction for proxy services, and this was now a known issue (I would consider this a blocker, and would suggest that ServiceMix folks follow up a 3.2.2 release just to fix this critical issue)
- A proprietary ESB we benchmarked and beat last year, did some major improvements to their performance, and did 1.6~1.9 times better than us for some of the scenarios
- The WSO2 Enterprise Service Bus (ESB) / Apache Synapse Enterprise Service Bus (ESB) shows a clear lead and dominates the open source ESB space
Read about it all here: http://wso2.org/library/3740 and run the benchmarks yourself!
Its great to hear that even BEA / Oracle was very much interested about the performance numbers we demonstrated last year, and wanted to beat our numbers with their latest release of AquaLogic Service Bus 3.0 on Weblogic 10. I think this demonstrates a level of trust by the Enterprise Service Bus (ESB) vendors and users alike, on the tests we conducted. Several users re-ran some of the tests themselves, during the past year; while some vendors promised to re-run the tests and publish their response, but have so far failed to talk about the results they obtained. Ross Mason from Mulesource has been wanting to publish performance test results for Mule for the last 2 years! The fact that we made the configurations/tuning and the tools used openly available, and asked for help from the vendors to optimally configure their ESB's for the scenarios, and reporting back any problems we encountered adds to the level of openness we demonstrated. Additionally this round of testing shows that even the WSO2 Enterprise Service Bus (ESB) / Apache Synapse Enterprise Service Bus (ESB) has room for improvement against a proprietary ESB that we benchmarked against, but also shows a very clear lead against the other open source alternatives.
It should be noted that the advantages of the WSO2 Enterprise Service Bus (ESB) does not lie only on its low resource usage foot print, excellent performance or scalability or its free and open source Apache License v2.0 alone; but in its ease of use, the ability to define a configuration graphically, and the fact that it ships over 55 working samples and documentation that demonstrates various features to help users become effective from day 1. Add to this the excellent level of free support that users always talk about, and compare this to some of the mailing lists for other open source ESB's where you hardly would get a reply to a technically challenging question.
Let me just highlight some of the observations and conclusions here
- Mule CE 2.0.1 couldn't handle the cases where we used a concurrency level of 80; while other ESB's scaled to support to over 2500 concurrent connections. This was after tuning the maximum active thread count to 100 from its default value, which limited Mule to a very few concurrent connections.
- A proprietary version of an open source ESB had the same problem described above. However, we cannot name this ESB due to its restrictive license which states that we cannot : “..publicly disseminate performance information or analysis (including, without limitation, benchmarks) from any source relating to the Software.”. One of my friends commented that the above line is a “Nice way to "performance tune" your slow app :P”
- Mule CE 2.0.1 also dropped 1% of ALL requests it received
- Apache ServiceMix 3.2.1 failed to forward the incoming SOAPAction for proxy services, and this was now a known issue (I would consider this a blocker, and would suggest that ServiceMix folks follow up a 3.2.2 release just to fix this critical issue)
- A proprietary ESB we benchmarked and beat last year, did some major improvements to their performance, and did 1.6~1.9 times better than us for some of the scenarios
- The WSO2 Enterprise Service Bus (ESB) / Apache Synapse Enterprise Service Bus (ESB) shows a clear lead and dominates the open source ESB space
Read about it all here: http://wso2.org/library/3740 and run the benchmarks yourself!
Labels:
AquaLogic,
BEA,
benchmark results,
Enterprise Service Bus,
ESB,
Mule,
Performance,
ServiceMix,
Synapse,
WSO2
Thursday, June 12, 2008
Get ready for the 3rd round of performance testing!
Its been almost an year since we last conducted performance benchmarks on the leading open source and commercial ESB's. We published the results from the last performance tests at:
http://wso2.org/library/1721
http://wso2.org/library/2259
For this round, I will be using a new set of scenarios, where I would measure the performance of each implementation for 1K, 5K, 10K, 100K and 500K requests/responses, for the simple proxy, content based routing and XSLT transformation scenarios. I would also introduce an artificial delay at the backend service implementation to determine how well the ESB's operate when waiting for the actual services to respond.
For this round of testing, we will compare:
Apache Synapse / WSO2 ESB 1.7
Mule 1.5.1 EE
Mule 2.0.1 CE
Apache ServiceMix 3.2.1/4.x?
JBossESB 4.3GA
OpenESB v2
Stay tuned for more information as we actually conduct the tests.. and post results!
http://wso2.org/library/1721
http://wso2.org/library/2259
For this round, I will be using a new set of scenarios, where I would measure the performance of each implementation for 1K, 5K, 10K, 100K and 500K requests/responses, for the simple proxy, content based routing and XSLT transformation scenarios. I would also introduce an artificial delay at the backend service implementation to determine how well the ESB's operate when waiting for the actual services to respond.
For this round of testing, we will compare:
Apache Synapse / WSO2 ESB 1.7
Mule 1.5.1 EE
Mule 2.0.1 CE
Apache ServiceMix 3.2.1/4.x?
JBossESB 4.3GA
OpenESB v2
Stay tuned for more information as we actually conduct the tests.. and post results!
Labels:
Apache,
Enterprise Service Bus,
ESB,
JBossESB,
Mule,
OpenESB,
Performance,
ServiceMix,
Synapse
A look back at the last year..
Its been exactly one year since the release of the WSO2 Enterprise Service Bus v1.0, in June 2007!
Yesterday we announced the general availability of the WSO2 Enterprise Service Bus (ESB) v1.7, which adds dramatic improvements to performance, as well as support for many new features. The past year has been very exciting for us, and we have been able to impress many happy users on the community, as well as win many production deployments world wide.
Let me highlight just some of the many users of Apache Synapse and the WSO2 ESB during the last year. The ability to easily support Hessian messages in an extremely short period of time, won us a great new client from Germany! They are now actively involved with the projects, and even help us perform load/regression testing as well as testing some of the most complex features such as sticky load balancing in clustered deployments, general clustering high availability and failover and advanced JMX management etc. We have also been chosen over the leading commercial ESB after a one week bakeoff conducted on-site, by one of the largest integrated managed care organizations in the US. In addition, a leading mobile resource management company in the US uses the technology to communicate with thousands of mobile devices, and to integrate existing JMS based services with partners using SOAP Web Services. The underlying Apache Synapse ESB which powers the WSO2 ESB, has been deployed in production by one of the largest auto makers in the world, and will soon be used in production by one of the largest armies in the world as well! Synapse has been able to gather a large community from the US, Europe, Latin America and Asia/China. Its even been embedded already into one of the leading network appliances for SOA, built by a world leader in telecommunications, with others to follow shortly! Its also being used by one of the largest banks operational mostly in Asia, Middle East and Africa with presence in over 70 countries worldwide. Many governments including the Government of Sri Lanka where I live, has standardised on the use of Apache Synapse as "the" ESB. These are all a few of the real users of the software we've built over the last year
Performance of the core engine has always surpassed the leading commercial alternatives, as well as other open source options such as Mule and ServiceMix.(See http://wso2.org/library/1721 and http://wso2.org/library/2259) In fact when we published the results of the performance tests carried out, it surely has created a controversy!
However, we will soon be conducting another round performance testing, so that one could easily compare the latest versions of the WSO2 ESB, Apache Synapse, Mule EE, Mule CE, ServiceMix, JBoss ESB and OpenESB, along with the leading proprietary ESB. We will share all configurations, tools and artifacts used, so that one could simply re-run the tests themselves if needed. Thus lately I have been looking into OpenESB to create some of the scenarios with it, so keep a lookout for my observations!
Since many users from the financial markets has been interested in Apache Synapse and the WSO2 ESB, with the latest releases of these, we have added support the Financial Information eXchange (FIX) protocol and AMQP messaging. This is in addition to the existing support for other transports such as non-blocking http, https, JMS, Mail (pop3, imap, smtp), File systems (ftp, sftp, zip, jar, tar, file, cifs, webdav.. etc). The latest WSO2 ESB v1.7 also adds enhanced support for JMX management, and graceful shutdown of instances, and enhanced support for clustered deployments with support for sticky load balancing, throttling and caching. It also embeds a version of the WSO2 Registry, and provides the ability to connect to an external instance as well.
Yesterday we announced the general availability of the WSO2 Enterprise Service Bus (ESB) v1.7, which adds dramatic improvements to performance, as well as support for many new features. The past year has been very exciting for us, and we have been able to impress many happy users on the community, as well as win many production deployments world wide.
Let me highlight just some of the many users of Apache Synapse and the WSO2 ESB during the last year. The ability to easily support Hessian messages in an extremely short period of time, won us a great new client from Germany! They are now actively involved with the projects, and even help us perform load/regression testing as well as testing some of the most complex features such as sticky load balancing in clustered deployments, general clustering high availability and failover and advanced JMX management etc. We have also been chosen over the leading commercial ESB after a one week bakeoff conducted on-site, by one of the largest integrated managed care organizations in the US. In addition, a leading mobile resource management company in the US uses the technology to communicate with thousands of mobile devices, and to integrate existing JMS based services with partners using SOAP Web Services. The underlying Apache Synapse ESB which powers the WSO2 ESB, has been deployed in production by one of the largest auto makers in the world, and will soon be used in production by one of the largest armies in the world as well! Synapse has been able to gather a large community from the US, Europe, Latin America and Asia/China. Its even been embedded already into one of the leading network appliances for SOA, built by a world leader in telecommunications, with others to follow shortly! Its also being used by one of the largest banks operational mostly in Asia, Middle East and Africa with presence in over 70 countries worldwide. Many governments including the Government of Sri Lanka where I live, has standardised on the use of Apache Synapse as "the" ESB. These are all a few of the real users of the software we've built over the last year
Performance of the core engine has always surpassed the leading commercial alternatives, as well as other open source options such as Mule and ServiceMix.(See http://wso2.org/library/1721 and http://wso2.org/library/2259) In fact when we published the results of the performance tests carried out, it surely has created a controversy!
However, we will soon be conducting another round performance testing, so that one could easily compare the latest versions of the WSO2 ESB, Apache Synapse, Mule EE, Mule CE, ServiceMix, JBoss ESB and OpenESB, along with the leading proprietary ESB. We will share all configurations, tools and artifacts used, so that one could simply re-run the tests themselves if needed. Thus lately I have been looking into OpenESB to create some of the scenarios with it, so keep a lookout for my observations!
Since many users from the financial markets has been interested in Apache Synapse and the WSO2 ESB, with the latest releases of these, we have added support the Financial Information eXchange (FIX) protocol and AMQP messaging. This is in addition to the existing support for other transports such as non-blocking http, https, JMS, Mail (pop3, imap, smtp), File systems (ftp, sftp, zip, jar, tar, file, cifs, webdav.. etc). The latest WSO2 ESB v1.7 also adds enhanced support for JMX management, and graceful shutdown of instances, and enhanced support for clustered deployments with support for sticky load balancing, throttling and caching. It also embeds a version of the WSO2 Registry, and provides the ability to connect to an external instance as well.
Labels:
Apache,
Enterprise Service Bus,
ESB,
Mule,
Performance,
ServiceMix,
Synapse,
WSO2 ESB
Subscribe to:
Posts (Atom)
