IBM Integration Bus, Version 9.0.0.5 Operating Systems: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

See information about the latest product version

Deploying message flows to integration servers

Every message flow has a memory requirement that depends on the routing or transformation logic that is run and the messages to be processed.

If you use an extra instance of a message flow, the memory usage obviously rises. But the memory usage for the instance is lower than if you deploy another identical flow to a different integration server. If you deploy integration flows that are different from each other to an integration server, then more virtual memory and real memory is used by that integration server.

There is an initial requirement of memory for deployment, and a subsequent higher requirement after messages are processed. Different integration flows use different amounts of extra memory. It is not possible to accurately predict the amount of virtual memory or real memory that is needed for an integration flow or message to be processed. Therefore, when you plan your flow, it is recommended to run and measure the requirement after the integration flow processes some messages. If you only process 1 or 2 messages a second for a few minutes, the memory usage is unlikely to reach a steady state. Now is the time make the flow work hard: Make all the additional instances start by processing 1000 messages per second for example. After 2 or 3 minutes of processing messages, the memory usage stabilizes if the mix of the messages remains more or less constant (for example, if the messages are not continually increasing in size).

If multiple messages are deployed to the integration server, then ensure that all messages are processed before you observe the peak memory usage of the integration server.

When you look at the memory usage of an integration server, you must focus on the real memory usage:
  • Linux platformUNIX platformOn Linux and UNIX systems, you are looking for the RSS value.
  • Windows platformOn Windows systems, you are looking for the Working Set.
This statistic is the key to understanding how much memory a process is using at a specific point in time. Other pages might be sitting in swap-space, which were used at some point in the processing, (for example: At the start of processing, or when a different part of the message flow was run) and those pages might not be in real memory anymore as the demand for memory increases.
To understand how much memory is used by processes on the system, use the following commands:
  • AIX platformFor AIX® systems: Use this command to display both virtual memory and real memory usage, and the command for the process:
    ps -e -o vsz=,rss=,comm=
  • Linux platformFor Linux systems: Use this command to display both virtual memory and real memory usage, and the command for the process:
    ps -e -o vsz,rss,cmd
  • Windows platformFor Windows systems: Start the task manager and select View > Select Columns > Memory (Private Working Set). You can then display both virtual memory and real memory usage, and the command for the process:
    ps -e -o vsz,rss,cmd

bj60022_.htm | 
        
        Last updated:
        
        Last updated: 2016-08-12 11:20:22