MQ

 View Only
  • 1.  High activity on SYSTEM.CHANNEL.SYNCQ ..

    Posted Wed April 06, 2022 09:00 AM
    Hello, 

    let me introduce the following topic just to understand a behavior rather then to solve some possible issue ...

    For our production mainframe MQ subsystem there is unexpectedly high activity on SYSTEM.CHANNEL.SYNCQ. For example, in one single archive log covered 51 minutes of overall MQ subsystem activity we noticed out of 203353 messages being put but no less then 151330 of them were put on this system queue SYSTEM.CHANNEL.SYNCQ. It means about 75% of all puts and around 50 messages per second. 
    According to the IBM documentation, the information stored in this queue are related to channel synchronization but without any more detailed information what exactly and how often is stored into this queue. 
    So, in case we're facing to 75% "overhead" for these system related messages, better understanding of usage of SYSTEM.CHANNEL.SYNCQ could lead in possibility of serious savings (workload, CPU .. ) if we could determine how to decrease the number of messages related to this queue. We are thinking about more precise setting of heartbeat interval, keep alive interval or number of active channels but it is hard to tune these parameters values without deeper knowledge what exactly needs to be minimized.
    Please, let me know any information about what could influence of above mentioned usage of SYSTEM.CHANNEL.SYNCQ.
    Thank you!

    Best regards,
    Radek Vanek


    ------------------------------
    RADEK VANĚK
    ------------------------------


  • 2.  RE: High activity on SYSTEM.CHANNEL.SYNCQ ..

    Posted Thu April 07, 2022 09:19 AM

    Hi Radek,

    Messages will be put to that queue when deleting, starting (sometimes), stopping a channel and also as batches of messages are flowing across channels, when the batch is being confirmed. It is also used when a channel is reset.

    So I would suggest looking for:

    1) Lots of channels stopping and starting
    2) The achieved batch size of your channels which might well be close to one. See DIS CHSTATUS and the BATCHES / BATCHSZ / XBATCHSZ attributes: https://www.ibm.com/docs/en/ibm-mq/9.2?topic=reference-display-chstatus-display-channel-status

    Regards, Matt.



    ------------------------------
    MATTHEW LEMING
    ------------------------------



  • 3.  RE: High activity on SYSTEM.CHANNEL.SYNCQ ..

    Posted Fri April 08, 2022 03:21 AM
    Hello Matthew,

    first of all thank you for your reply. The option 1) you suggested to look is ok, the channels are running more or less non-stop from MQ manager start to MQ manager stop. Option 2) is valuable as we also thought to try to tune Batch size parameter as we are using IBM default value (50). Maybe it could be a good case to increase this batch size for these kind of heavily used channels. Before I started this discussion thread I read the documentation about this parameter and it is written it is no always true that higher batch size means better performance.. 

    Finally, I am also thinking about another reason of so high number of puts into the SYSTEM.CHANNEL.SYNCQ. Our channels are two types, cluster sender / receiver. Could be also possible that these types of channels put more messages into this system queue then "normal" sender/receiver?

    Thank you!

    Best regards,
    Radek


    ------------------------------
    RADEK VANĚK
    ------------------------------



  • 4.  RE: High activity on SYSTEM.CHANNEL.SYNCQ ..

    Posted Fri April 08, 2022 11:46 AM

    Hi Radek,

    Off the top of my head I can't think of any reason why clustered channels would be any different from normal ones.
    There are many considerations that affect the achieved batch size on a channel, and having 50 set doesn't mean that each batch will be 50 messages in size. For example see https://www.ibm.com/docs/en/ibm-mq/9.2?topic=keywords-batchint-batch-interval.

    As mentioned above take a look at XBATCHSZ so you can see what the average batch sizes are for your channels. Bear in mind that you will have to have set MONCHL on the channel.

    Regards, Matt,



    ------------------------------
    MATTHEW LEMING
    ------------------------------



  • 5.  RE: High activity on SYSTEM.CHANNEL.SYNCQ ..

    IBM Champion
    Posted Mon April 11, 2022 02:05 AM
    For every end of batch flow there will be 2 msgs put and 2 msgs got to the sync queue.
    You should have similar numbers of puts and gets.  If not check sync queue is indexed correctly.

    Batch size is upper limit of msgs per batch. Check achieved batch size xbatchsz.   If this is small making batchsz bigger will have no effect.  
    There is a Parm (can't remember it) which says channel does get wait for message (say 50 ms) this gives opportunity for multiple messages per batch.  This will delay some messages but can get more messages per batch and so reduce sync queue activity.

    Your effect could be due to one( a few) channels processing one message at a time, but not at a high enough rate to get batching, or could be due to many (1000) channels processing messages a low rate.

    Displaying all active channel's and looking at last msg sent/received times may give you a clue.

    Colin