This is our first official report on the performance characteristics of the IBM® Integration Bus on Cloud product since its launch, where we are evaluating the SOAP Provider use case familiar from earlier IBM® Integration Bus performance reports. We have run the same message flow in a standard 4 GB container provided through the on-demand subscription of the cloud-based service, albeit with an important difference in configuration: the on-premises variant of the message flow used HTTP for transport, whereas the cloud-based offering mandates the use of HTTPS.
As shown in Figure 1., the message flow receives a SOAP message over HTTPS using a SOAP Input node, executes a simple transformation on the payload using a Graphical Data Mapper transformation node, and sends the result back to the sender also via SOAP over HTTPS.
|Fig. 1.: SOAP Provider message flow|
To configure HTTPS, one only needs to enable the “Use HTTPS” setting on the HTTP Transport property page of the SOAP Input node. On the client / load driver side, we also need to trust the IIBoC certificate issued by DigiCert to subject=/C=GB/ST=Hampshire/L=Winchester/O=IBM United Kingdom Limited/CN=*.ibmintegrationbus.ibmcloud.com.
The integration can be deployed to IIB on Cloud after exporting it to a BAR file from the Integration Toolkit, then using the “Add integration” button in the IIB on Cloud user interface to upload the BAR file (see Figure 2.).
|Fig. 2.: List of deployed integrations in the IIB on Cloud interface|
We have used the PerfHarness load driver tool, running in the data center hosting the IBM Integration Bus on Cloud runtime, to generate a steady workload consisting of identical SOAP/XML messages sent repeatedly by a number of client threads. The proximity of the load driver and the runtime reduces the potential measurement noise caused by network latency.
Table 1. shows the optimum throughput metrics we have collected from a number of 5-minute test runs consisting of a 2-minute warm-up period followed by a 3-minute measurement period, running 4 instances of the message flow and using 3 different message sizes. The CPU usage metric shows the average number of CPU cores used throughout the run, out of the 2 available at time the measurements were conducted. Please note that the number of CPU cores available is subject to change. We also present scaled-down metrics for the approximate processing capacity of a single CPU core in the last column.
|Message Size||Message Rate||CPU cores||Rate / CPU core|
|Table 1.: Measured throughput data|
We note that these figures are comparable (in terms of message throughput and CPU utilization) to those produced by IBM Integration Bus 10.0.0.7 installed directly on an Intel Xeon-based system of similar hardware capacity running Red Hat Enterprise Linux.