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

See information about the latest product version

Viewing resource statistics data in the IBM Integration Explorer

Use the IBM® Integration Explorer to view resource statistics data for your integration servers in the Broker Resources and Broker Resources Graph views.

Before you start:

You can also view resource statistics collection by subscribing to the topic on which statistics are published. For further details, see Subscribing to statistics reports.

To view resource statistics in the IBM Integration Explorer, complete the following steps.

  1. In the WebSphere MQ Explorer - Navigator view, expand the Integration Nodes folder.
  2. To open the Resource Statistics and Resource Statistics Graph views, click Window > Show View > Resource Statistics. These two views are displayed together. If you close one of the views, the other view is also closed.
  3. Use the information in these views to review the use of resources for which statistics are available.
    The following examples demonstrate the types of question that can be answered by collecting resource statistics. This list is not exhaustive, and does include all resource types. For a full list of resource types, and the type of information that is collected for each one, see Resource statistics data
    JVM statistics
    How much memory is the JVM using?

    Many tools that are specific to an operating system give you the total memory that is used by the integration server, but they do not show you how that memory is divided between Java™ processing and other processing in the integration server. By looking at the field CommittedMemoryInMB, you can see how much memory is currently allocated to the JVM. Then look at the field MaxMemoryInMB to see the maximum amount of memory that can be allocated.

    How often is garbage collection done? Is it affecting the performance of the integration server?

    To see how often the JVM is doing garbage collection, check the CumulativeNumberOfGCCollections field to see if the rate of collections is increasing. Garbage collection is a normal process, and is therefore expected to some degree. However, excessive garbage collection can affect performance.

    To see if current garbage collection is excessive, monitor the CumulativeGCTimeInSeconds value. If this value is increasing by more than 2 seconds in each 20-second statistics interval, try increasing the JVM maximum heap size for your integration server by using the mqsichangeproperties command. You might also want to inspect all the Java user-defined nodes and JavaCompute nodes that are included in your deployed message flows, to ensure that they do not create and delete many objects that could be reused; frequent deletions can contribute to excessive garbage collection.

    Do I need to change the minimum or maximum heap sizes?
    • If the CumulativeGCTimeInSeconds value is increasing by more than 2 seconds in each 20 second statistics interval, increase the maximum heap size to reduce this increase.
    • If the UsedMemoryInMB value is never close to the InitialMemoryInMB value, you might have allocated more memory for the heap than is required. Therefore, reduce the JVM minimum heap size value for the integration server to a value that is closer to the UsedMemoryInMB value.

    Change these values gradually, and check the results to find the optimum settings for your environment.

    Parsers
    Are message parsers using more memory than expected?

    A message flow parses input messages and can create many output messages. These messages may have large bit streams or large message trees. The parsers created to perform this message processing might consume a large amount of memory. Use the Parsers statistics to determine if message flow parsers are using more memory than expected. If so, consider deploying such flows into separate integration servers or improving ESQL or Java plugin API processing to efficiently handle large messages or transformations.

    Is message parsing or writing failing frequently for a particular message flow?

    If a message flow receives or attempts to write an invalid message, it is likely that this will be rejected by a parser. Use the message parsers statistics to see if a message flow is rejecting a large amount of input or output messages compared with successful processing.

    Outbound sockets
    Are the nodes reusing outbound sockets?

    Creating outbound sockets can be an expensive operation, and the number of sockets available on a computer is a finite resource. Therefore, increasing socket reuse can enhance performance. If the workload is continuous and consistent, the TotalSockets value indicates an initial period of activity, which then reduces when the integration server starts to reuse sockets.

    A steady increase in the TotalSockets value over time is expected because sockets are closed after a period of inactivity, or when they have been used many times.

    If the TotalSockets value increases significantly over time, this trend might indicate that outbound sockets are not being reused.

    If your message flows include HTTPRequest nodes, check that you have set the keepalive property Enable HTTP/1.1 keepalive.

    Check also whether the endpoint that is called uses keepalive sockets.

    Which endpoints are most used?

    The values TotalMessages indicates how busy each endpoint is. The value in the summary record tells you how much activity occurred across the whole integration server.

    How large are sent and received messages?

    The values of the SentMessageSize_* and ReceivedMessageSize_* fields give a profile of the message sizes flowing to and from each endpoint.

    JDBC connection pools
    Do I need to change the size of the connection pool?

    If the statistics show that the count of callers waiting for connections is high, and the wait time is increasing, consider increasing the size of the pool using the MaxConnectionPoolSize property for the JDBCProvider configurable service.

    Alternatively, try reducing the number of additional instances configured for the message flow.

    TCPIPClientNodes
    Are the nodes reusing outbound sockets?

    Creating outbound sockets can be an expensive operation, and the number of sockets available on a computer is a finite resource. Therefore, increasing socket reuse can enhance performance. If the workload is continuous and consistent, the TotalSockets value indicates an initial period of activity, which then reduces when the integration server starts to reuse sockets.

    A steady increase in the TotalSockets value over time is expected because sockets are closed after a period of inactivity, or when they have been used many times.

    If the TotalSockets value increases significantly over time, this trend might indicate that outbound sockets are not being reused.

    If your message flows include HTTPRequest nodes, check that you have set the keepalive property Enable HTTP/1.1 keepalive.

    Check also whether the endpoint that is called uses keepalive sockets.

    How the does the information that I see in IBM Integration Explorer relate to my TCP/IP flows?
    An entry is displayed for each configurable service, not for each flow.

bj43370_.htm | Last updated Friday, 21 July 2017