+

Search Tips | Advanced Search

Adapter tasks

This topic contains example data for the adapter tasks statistics, and information about how to interpret the data.

The format of the adapter task block is described in structure qct_adp in the C programming language header file thlqual.SCSQC370(CSQDSMFC), and in assembler macro thlqual.SCSQMACS(CSQDQCTA).


Example data

Task, Type, Requests, Busy %,  CPU used, CPU %, "avg CPU", "avg ET"
  ,   ,       ,     ,   Seconds,    ,  uSeconds, uSeconds
   0, ADAP,   470297,   10.2, 41.290670,   4.6,        88,      194
   1, ADAP,    13907,    0.6,  1.589428,   0.2,       114,      365
   2, ADAP,     2517,    0.2,  0.185325,   0.0,        74,      746
   3, ADAP,     1095,    0.1,  0.085774,   0.0,        78,      907
   4, ADAP,      535,    0.1,  0.040743,   0.0,        76,      947
   5, ADAP,      220,    0.0,  0.016228,   0.0,        74,     1175
   6, ADAP,       82,    0.0,  0.005521,   0.0,        67,     1786
   7, ADAP,       80,    0.0,  0.004248,   0.0,        53,     1160
Summ, ADAP,   488733,    1.4, 43.217938,   0.6,        88,      205
The fields are calculated from:

  • Duration: qwhs.qwhsdurn
  • Requests: qctreqn
  • Busy %: qcteltm and duration
  • CPU used: qctcptm
  • CPU %: qctcptm and duration
  • Average CPU: qctcptm and qctreqn average
  • ET: qcteltm and qctreqn

This example shows that there were eight adapter tasks.

    Adapter number 0

    • Processed the majority of the requests (470297 out of 488733)
    • Was busy 10.2% of the interval
    • Used 41.3 seconds of CPU

    Overall
    The average CPU per request was 88 microseconds of CPU and took 205 microseconds

The adapters process IBM MQ requests. Some of these requests might wait, for example, for log I/O during a commit, so the average Elapsed Time per request has little meaning.

When an IBM MQ request is made the first free adapter task is used.

  • If there is at least one adapter that has been little used (less than 1%) busy, you have enough adapters.
  • If at least one adapter was not used, you have enough adapters defined.
  • If all the adapters were used, you might need to allocate more adapters.
  • If all of the adapters were used, and they were all busy for most of the interval, we need to allocate more adapters.

We can use the ALTER QMGR CHIADAPS() command to change the number of adapters used. Any changes come into effect the next time the channel initiator is started. Attention: If there are too many adapters acting on a small set of queues, you might get contention within the queue manager. Parent topic: Channel initiator statistics data records


Related information

Last updated: 2020-10-04