Throughput Improvement for SOAP and REST Services

Use Case 1 : The focus of the project was related to scalability and maximizing throughput for a given workload for SOAP and REST services deployed on a single AppNode.

For scenario details, see Performance Improvement Use Case 1 .

The was achieved by tuning certain TIBCO ActiveMatrix BusinessWorks™ parameters. These tests were conducted on Amazon EC2 servers with the following configuration:

8 vCPUs - Intel Xeon E5-2680 v2 @ 2.80 GHz (25 MB Cache)

Testing and Measurement : The testing was focused on the aspects listed below:
  • Tests were conducted with the default engine and other parameters for a given workload.
  • Throughput, that is transactions per second, latency and CPU utilization was measured.
Solution For Performance Improvement : The solution for scaling the engine was as follows:
  • Tuned the ActiveMatrix BusinessWorks™ engine thread count. Initially tested with default eight engine threads and then doubled the threads depending on the CPU utilization.
  • Tuned the HTTP Client max total connections and max connections/host depending on the calls to the external services deployed and the engine thread value.
  • Tuned the HTTP Client thread pool depending on the calls to external services deployed and the HTTP Client max total connections value.

Results

An increase in throughput (tps) and reduction in latency was achieved by following a step by step tuning approach as illustrated in the graphs below. The first graph illustrates the performance achieved by tuning the engine threads alone.

The second graph shows further improvement in performance after tuning the HTTP Client connections and threads.

Note: The numbers represented in the graphs are based on tests conducted in the performance lab for ActiveMatrix BusinessWorks 6.3.0. Results may vary according to the components installed, the workload, the type and complexity of different scenarios, hardware, software configuration, and so on. They can be reproduced only under the exact environment and workload conditions that existed when these tests were performed.