+

Search Tips | Advanced Search

Determining whether the channel can process messages fast enough

If there messages are building up on the transmission queue, but you have found no processing problems, determine whether the channel can process messages fast enough.


Before starting

Issue the following command repeatedly over a period of time to gather performance data about the channel:
DIS CHSTATUS(QM1.TO.QM2) ALL


About this task

Confirm that there are no uncommitted messages on the transmission queue, as described in Check that messages on the queue are available, then check the XQTIME field in the output from the display channel status command. When the values of the XQTIME indicators are consistently high, or increase over the measurement period, the indication is that the channel is not keeping pace with the putting applications.

Perform the following tests:


Procedure

  1. Check whether exits are processing. If exits are used on the channel that is delivering these messages, they might add to the time spent processing messages. To identify if this is the case, do the following checks:
    1. In the output of the command DIS CHSTATUS(QM1.TO.QM2) ALL, check the EXITTIME field. If the time spent in exits is higher than expected, review the processing in your exits for any unnecessary loops or extra processing, especially in message, send, and receive exits. Such processing affects all messages moved across the channel.
    2. In the output of the command DIS CHSTATUS(QM1.TO.QM2) ALL, check the SUBSTATE field. If the channel has of one of the following substates for a significant time, review the processing in your exits:

      • SCYEXIT
      • RCVEXIT
      • SENDEXIT
      • MSGEXIT
      • MREXIT

      For more information on channel substates, see the table Table 1.

  2. Check whether the network is slow. If messages are not moving fast enough across a channel, it might be because the network is slow. To identify if this is the case, do the following checks:
    1. In the output of the command DIS CHSTATUS(QM1.TO.QM2) ALL, check the NETTIME field. These indicators are measured when the sending channel asks its partner for a response. This happens at the end of each batch and, when a channel is idle during heartbeating.
    2. If this indicator shows that round trips are taking longer than expected, use other network monitoring tools to investigate the performance of our network.

  3. Check whether the channel is using compression. If the channel is using compression, this adds to the time spent processing messages. If the channel is using only one compression algorithm, do the following checks:
    1. In the output of the command DIS CHSTATUS(QM1.TO.QM2) ALL, check the COMPTIME field. These indicators show the time spent during compression or decompression.
    2. If the chosen compression is not reducing the amount of data to send by the expected amount, change the compression algorithm.

  4. If the channel is using multiple compression algorithms, do the following checks:
    1. In the output of the command DIS CHSTATUS(QM1.TO.QM2) ALL, check the COMPTIME, COMPHDR, and COMPMSG fields.
    2. Change the compression algorithms specified on the channel definition, or consider writing a message exit to override the channel's choice of compression algorithm for particular messages if the rate of compression, or choice of algorithm, is not providing the required compression or performance.

Parent topic: Monitor channels

Last updated: 2020-10-04