If you are planning to create and maintain a small, stand-alone system with limited requirements for availability and performance, it is possible to achieve this relatively quickly. However, if you are planning a large or complex system, or if you have specific requirements for high availability or performance, it is worth taking time to understand the factors that can influence your design and the techniques that you can use to optimise it.
- You can use message flow design and coding techniques to optimise the performance of your message flows.
- When you design a message flow, you can optimise performance by limiting the number of times that each of the following actions occurs:
- Tree navigation and copying
- Accessing resources
- Processing logic
- You can analyse statistical information for your message flows and modify aspects of your run time configuration to optimise your solution performance.
- You can configure the run time environment for maximum performance. You can review the performance planning information, and decide which actions you can take to improve performance.
- You can configure your message flows to make the best use of computer resources, especially if you will process large messages.
|Tuning IBM Integration Bus version 10|
|Performance planning||Performance Planning|
|Message flow design||Designing a message flow|
|Code design||Code design for performance|
|Tuning message flow performance||Tuning message flow performance|
|Tuning the IBM Integration Bus run time||Tuning the run time|
|System resources for message flow development||Tuning system resources for message flow development|
|Analyze resource performance||Analyze resource performance|
Configuration changes adopted in the different environments to obtain performance results
To obtain the performance results for the different use cases, the following configuration has been implemented in the different measurement environments:
MQ Transactional Support
By default, the transaction parameter on the MQInput node is set to automatic. This is the preferred value to use for transaction mode unless there is a specific requirement to use a particular value. Persistent messages are processed within transactional control and non persistent messages are not.
SOAP and HTTP Tuning
- In the integration server and HTTP listener, the maxThreads property value is set to 200 for the HTTPConnector object.
- The JVM heap is set to 2GB to allow processing of large messages.
You use the mqsichangeproperties command to configure the IBM Integration Bus components.
NOTE: Previously we made additional changes to settings such as tcpNoDelay and maxKeepAliveRequests. These have now been updated to have more performance based defaults.