You can use the message flow statistics
data to help you identify aspects of a message flow that might be
reducing the performance of the flow, and to help you understand how
you can optimize it.
Before you start:Read the following
topics:
Follow these steps to identify the
factors that might be limiting the speed of a message flow, and to
find out how you can increase the overall performance:
- Use the WebSphere® Message Broker Explorer to display the statistics for
your message flow. You can use these statistics to help
you identify the nodes in your message flow that are the most expensive
in terms of CPU and elapsed time. For more information about viewing
statistics data, see Viewing accounting and statistics data in the WebSphere Message Broker Explorer.
- When you have identified the nodes that are the most expensive
in terms of performance, identify the type of node; some of the techniques
that you can use to optimize the performance vary according to the
node type:
- If the most expensive node is a Compute node, there might be
issues with your ESQL code. For information about how to optimize
ESQL, see ESQL code tips.
- If the most expensive node is a JavaCompute node, see Java code tips for information about how you might optimize
performance for the node.
- If the most expensive node uses XPath, see XPath and XSLT code tips to
find out how you might optimize performance for the node.
- If the most expensive node is a request node, it might be waiting
for input from an external resource. You can use the activity log
to see where resources such as databases are taking a long time to
respond or process data; for more information, see Using Activity logs.
- Consider the overall design of your message flow; the following
design decisions can have a significant impact on message flow throughput
and response times:
- The number of threads processing messages in a single message
flow
- The number of copies of a message flow
- The scope of the message flow
- The frequency of commits
- The number of nodes in the message flow
- The way in which the message flow routes and processes messages
- The use of loops
- The use of persistent and transactional messages
- Message size
- Message format
For more information about these design decisions, see Message flow design and performance.
- Parsing can have a significant impact on message flow performance,
and there are techniques that you can use to limit the effect. For
more information, see Parsing and message flow performance.
- Message tree navigation and message tree copying can reduce
message flow performance, so it is important to use them appropriately
and limit their use where possible. For more information, see Message tree navigation and copying.
For more information about improving performance the performance
of your message flows, see Tuning message flow performance. For
information about solving specific performance issues, see Troubleshooting performance problems.