Message flow design and performance

Consider the performance implications arising from the design of your message flow.

Before you begin

About this task

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.