To achieve the best performance
from your message flows, consider the following points:
- Ensure that message flows are an appropriate length. Long message
flows take longer to execute than short ones, but the use of many
short message flows reduces performance more than the use of a few
longer message flows.
- Use the minimum number of nodes required, and ensure that any
subflows or loops are used appropriately.
- Avoid having consecutive ESQL Compute nodes in a message
flow with no other nodes between them. Combine the logic into a single Compute node instead. Also
avoid having consecutive JavaCompute nodes
in the message flow.
- Minimize the volume of message parsing and adopt the most efficient
parsing strategy; for more information, see Parsing and message flow performance.
- Custom canonical data formats provide a point of standardization,
but they also involve additional CPU processing. The use of such formats
typically results in two additional conversions per invocation of
a message flow: from the external format into the canonical format
and then from the canonical format to the final external format.
- If a message flow makes a synchronous call to an external application
or service that can be slow or unpredictable in its response, it is
more efficient to write the message flow using an asynchronous model.
- Ensure that your processing logic implements the coding tips provided
in Code design and performance.