MQ

 View Only
Expand all | Collapse all

Applicaton put operation to a particular queue, experiences intermittent delays

  • 1.  Applicaton put operation to a particular queue, experiences intermittent delays

    Posted Tue May 07, 2024 10:54 AM

    I need some assistance.

    Our application, particularly the Put operation, experiences intermittent delays. Initially, when the applications are launched, both Put and Get response times range from 1 to 3 seconds, which is normal.

    However, after running for 2 or 3 days, there's a noticeable delay upon startup, with responses taking nearly a minute. We're only utilizing a single svrconn channel with SHARECNV(10).

    Any suggestions on which areas to investigate? The developers are beginning to attribute the issue to the MQ Server configuration.



    ------------------------------
    Hla Tun
    ------------------------------


  • 2.  RE: Applicaton put operation to a particular queue, experiences intermittent delays

    Posted Tue May 07, 2024 11:02 AM
    Edited by Hla Tun Tue May 07, 2024 11:03 AM

    MQ Version : 9.3
    MSG Type on Queue : Non-persistent
    DEFPRESE : ASYNC


    Typical Messages In/out per hour : 600 msgs
    Message Size : 1MB to 4MB

    Conneted Applications : 26 to 29 count using SVRCONN channel with SHARECNV(10)

    HW Specs :

    4core CPU

    16GB Memory



    ------------------------------
    Hla Tun
    ------------------------------



  • 3.  RE: Applicaton put operation to a particular queue, experiences intermittent delays

    IBM Champion
    Posted Tue May 07, 2024 04:52 PM
    Edited by Morag Hughson Tue May 07, 2024 11:50 PM

    Hello Hla,

    Could you say a little about what "startup" means in this context. You say there is a "noticeable delay upon startup". Is this the application program starting up, or just making a new connection to the queue manager but the program was already running, or are you referring to the queue manager starting up, or something else?

    Cheers 

    Morag



    ------------------------------
    Morag Hughson
    MQ Technical Education Specialist
    MQGem Software Limited
    Website: https://www.mqgem.com
    ------------------------------



  • 4.  RE: Applicaton put operation to a particular queue, experiences intermittent delays

    Posted Tue May 07, 2024 08:18 PM

    Hello Morag,

    Sorry about the confusion. What I meant is that putting a message into the specific queue is taking longer after the application has been running for 2 or 3 days, just like the developer mentioned. I've already checked the MQ log and monitored hardware resource usage, but nothing abnormal was found. Given that our application scenario is time-sensitive and messages must be put in on time, this delay is concerning. The developer sent the log to me, they have investigated  the time it takes to put a message into the specific queue. I attached it for your check.

    When the put application start connected the queue manager and specific queue working well in a day (1 Day)

    When the application has been running for 2 or 3 days, you can noticed significant delay as below



    ------------------------------
    Hla Tun
    ------------------------------



  • 5.  RE: Applicaton put operation to a particular queue, experiences intermittent delays

    IBM Champion
    Posted Tue May 07, 2024 11:50 PM

    Hello Hla,

    Thank you for the additional information. This measurement that you have collected, is this JUST the MQPUT call or MQOPEN+MQPUT+MQCLOSE or MQCONN+MQOPEN+MQPUT+MQCLOSE+MQDISC? Does it also include the time waiting for a response to the initial message or is this a send and forget style application?

    You mention that the application stays running for a number of days, does it stay connected to the queue manager all the time, or does it only make a connection when it needs to? Does it stay connected to put a number of messages, or does it only connect for the duration of one message?

    As you can imagine, answers to the above questions make a big different to response times.

    Cheers,
    Morag



    ------------------------------
    Morag Hughson
    MQ Technical Education Specialist
    MQGem Software Limited
    Website: https://www.mqgem.com
    ------------------------------



  • 6.  RE: Applicaton put operation to a particular queue, experiences intermittent delays

    Posted Wed May 08, 2024 06:03 AM

    Dear Morag,

    Every put message, we're using the MQCONN+MQOPEN+MQPUT+MQCLOSE+MQDISC mechanism. The developer mentioned that the client application makes a call with async wait for every queue. I've requested a high-level flow to gain more insights into the process, and I'll keep you updated once I receive it.



    ------------------------------
    Hla Tun
    ------------------------------



  • 7.  RE: Applicaton put operation to a particular queue, experiences intermittent delays

    IBM Champion
    Posted Wed May 08, 2024 05:24 AM

    Hello HIa,

    While the application is running can you please provide: from the samples either the amqsrua or amqsruac output for

    amqsrua -m qmgr -c STATMQI -t CONNDISC

    amqsrua -m qmgr -c STATQ -t GET -o qname

    amqsrua -m qmgr -c STATQ -t PUT -o qname

    amqsrua -m qmgr -c STATQ -t OPENCLOSE -o qname

    amqsrua -m qmgr -c STATQ -t GENERAL -o qname

    run these at the beginning of the test (good response time) and at the end of the test (bad response times)

    Can you also verify that the GET calls are transacted  ?

    You can also run a statapp call with application name. That too should give us some insight

    append -n x if you only want x results, x should have a minimum of 4 to get some good results at 10 second interval...

    Hope it helps 



    ------------------------------
    Francois Brandelik
    ------------------------------



  • 8.  RE: Applicaton put operation to a particular queue, experiences intermittent delays

    Posted Wed May 08, 2024 06:39 AM

    Hello Francois,

    Thank you for your attention. Bad response time occurs randomly and it's only through reviewing the application log and response records that we've identified the timing issue. I have attached your requested output to review. Kindly give some favor for hiding the queue name.
    Thanks.

    [ amqsrua -m qmgr -c STATMQI -t CONNDISC ]


    Publication received PutDate:20240508 PutTime:10291082 Interval:1 minutes,47.156 seconds
    MQCONN/MQCONNX count 8
    Failed MQCONN/MQCONNX count 0
    Concurrent connections - high water mark 78
    MQDISC count 16

    Publication received PutDate:20240508 PutTime:10292082 Interval:10.000 seconds
    MQCONN/MQCONNX count 0
    Failed MQCONN/MQCONNX count 0
    Concurrent connections - high water mark 70
    MQDISC count 0

    Publication received PutDate:20240508 PutTime:10293083 Interval:10.005 seconds
    MQCONN/MQCONNX count 6 1/sec
    Failed MQCONN/MQCONNX count 0
    Concurrent connections - high water mark 74
    MQDISC count 4

    Publication received PutDate:20240508 PutTime:10294083 Interval:10.002 seconds
    MQCONN/MQCONNX count 6 1/sec
    Failed MQCONN/MQCONNX count 0
    Concurrent connections - high water mark 75
    MQDISC count 7 1/sec


    ----------------------

    [ amqsrua -m qmgr -c STATQ -t GET -o qname ]

    Publication received PutDate:20240508 PutTime:10274848 Interval:29 days,16 hours,21 minutes,13.377 seconds
    QUEUE_NAME                                     MQPUT/MQPUT1 count 131584
    QUEUE_NAME                                     MQPUT byte count 545119562 213/sec
    QUEUE_NAME                                     MQPUT non-persistent message count 0
    QUEUE_NAME                                     MQPUT persistent message count 131584
    QUEUE_NAME                                     rolled back MQPUT count 0
    QUEUE_NAME                                     MQPUT1 non-persistent message count 0
    QUEUE_NAME                                     MQPUT1 persistent message count 0
    QUEUE_NAME                                     non-persistent byte count 0
    QUEUE_NAME                                     persistent byte count 545119562 213/sec
    QUEUE_NAME                                     lock contention 0.46%
    QUEUE_NAME                                     queue avoided puts 0.00%
    QUEUE_NAME                                     queue avoided bytes 0.00%

    Publication received PutDate:20240508 PutTime:10275849 Interval:10.015 seconds
    QUEUE_NAME                                     MQPUT/MQPUT1 count 0
    QUEUE_NAME                                     MQPUT byte count 0
    QUEUE_NAME                                     MQPUT non-persistent message count 0
    QUEUE_NAME                                     MQPUT persistent message count 0
    QUEUE_NAME                                     rolled back MQPUT count 0
    QUEUE_NAME                                     MQPUT1 non-persistent message count 0
    QUEUE_NAME                                     MQPUT1 persistent message count 0
    QUEUE_NAME                                     non-persistent byte count 0
    QUEUE_NAME                                     persistent byte count 0
    QUEUE_NAME                                     lock contention 0.35%
    QUEUE_NAME                                     queue avoided puts 0.00%
    QUEUE_NAME                                     queue avoided bytes 0.00%

    Publication received PutDate:20240508 PutTime:10280850 Interval:10.000 seconds
    QUEUE_NAME                                     MQPUT/MQPUT1 count 0
    QUEUE_NAME                                     MQPUT byte count 0
    QUEUE_NAME                                     MQPUT non-persistent message count 0
    QUEUE_NAME                                     MQPUT persistent message count 0
    QUEUE_NAME                                     rolled back MQPUT count 0
    QUEUE_NAME                                     MQPUT1 non-persistent message count 0
    QUEUE_NAME                                     MQPUT1 persistent message count 0
    QUEUE_NAME                                     non-persistent byte count 0
    QUEUE_NAME                                     persistent byte count 0
    QUEUE_NAME                                     lock contention 0.24%
    QUEUE_NAME                                     queue avoided puts 0.00%
    QUEUE_NAME                                     queue avoided bytes 0.00%

    Publication received PutDate:20240508 PutTime:10281850 Interval:10.000 seconds
    QUEUE_NAME                                     MQPUT/MQPUT1 count 0
    QUEUE_NAME                                     MQPUT byte count 0
    QUEUE_NAME                                     MQPUT non-persistent message count 0
    QUEUE_NAME                                     MQPUT persistent message count 0
    QUEUE_NAME                                     rolled back MQPUT count 0
    QUEUE_NAME                                     MQPUT1 non-persistent message count 0
    QUEUE_NAME                                     MQPUT1 persistent message count 0
    QUEUE_NAME                                     non-persistent byte count 0
    QUEUE_NAME                                     persistent byte count 0
    QUEUE_NAME                                     lock contention 0.48%
    QUEUE_NAME                                     queue avoided puts 0.00%
    QUEUE_NAME                                     queue avoided bytes 0.00%


    ----------------------

    [ amqsrua -m qmgr -c STATQ -t PUT -o qname ]

    Publication received PutDate:20240508 PutTime:10163617 Interval:29 days,16 hours,10 minutes,1.072 seconds
    QUEUE_NAME                                     MQPUT/MQPUT1 count 131550
    QUEUE_NAME                                     MQPUT byte count 544982678 213/sec
    QUEUE_NAME                                     MQPUT non-persistent message count 0
    QUEUE_NAME                                     MQPUT persistent message count 131550
    QUEUE_NAME                                     rolled back MQPUT count 0
    QUEUE_NAME                                     MQPUT1 non-persistent message count 0
    QUEUE_NAME                                     MQPUT1 persistent message count 0
    QUEUE_NAME                                     non-persistent byte count 0
    QUEUE_NAME                                     persistent byte count 544982678 213/sec
    QUEUE_NAME                                     lock contention 0.46%
    QUEUE_NAME                                     queue avoided puts 0.00%
    QUEUE_NAME                                     queue avoided bytes 0.00%

    Publication received PutDate:20240508 PutTime:10164618 Interval:10.002 seconds
    QUEUE_NAME                                     MQPUT/MQPUT1 count 0
    QUEUE_NAME                                     MQPUT byte count 0
    QUEUE_NAME                                     MQPUT non-persistent message count 0
    QUEUE_NAME                                     MQPUT persistent message count 0
    QUEUE_NAME                                     rolled back MQPUT count 0
    QUEUE_NAME                                     MQPUT1 non-persistent message count 0
    QUEUE_NAME                                     MQPUT1 persistent message count 0
    QUEUE_NAME                                     non-persistent byte count 0
    QUEUE_NAME                                     persistent byte count 0
    QUEUE_NAME                                     lock contention 0.23%
    QUEUE_NAME                                     queue avoided puts 0.00%
    QUEUE_NAME                                     queue avoided bytes 0.00%

    Publication received PutDate:20240508 PutTime:10165618 Interval:10.000 seconds
    QUEUE_NAME                                     MQPUT/MQPUT1 count 2
    QUEUE_NAME                                     MQPUT byte count 7938 794/sec
    QUEUE_NAME                                     MQPUT non-persistent message count 0
    QUEUE_NAME                                     MQPUT persistent message count 2
    QUEUE_NAME                                     rolled back MQPUT count 0
    QUEUE_NAME                                     MQPUT1 non-persistent message count 0
    QUEUE_NAME                                     MQPUT1 persistent message count 0
    QUEUE_NAME                                     non-persistent byte count 0
    QUEUE_NAME                                     persistent byte count 7938 794/sec
    QUEUE_NAME                                     lock contention 1.30%
    QUEUE_NAME                                     queue avoided puts 0.00%
    QUEUE_NAME                                     queue avoided bytes 0.00%

    ----------------------

    [ amqsrua -m qmgr -c STATQ -t OPENCLOSE -o qname ]

    Publication received PutDate:20240508 PutTime:10265027 Interval:29 days,16 hours,20 minutes,15.164 seconds
    QUEUE_NAME                                     MQOPEN count 141873716 55/sec
    QUEUE_NAME                                     MQCLOSE count 141873696 55/sec

    Publication received PutDate:20240508 PutTime:10270027 Interval:10.002 seconds
    QUEUE_NAME                                     MQOPEN count 548 55/sec
    QUEUE_NAME                                     MQCLOSE count 548 55/sec

    Publication received PutDate:20240508 PutTime:10271027 Interval:10.000 seconds
    QUEUE_NAME                                     MQOPEN count 550 55/sec
    QUEUE_NAME                                     MQCLOSE count 550 55/sec

    Publication received PutDate:20240508 PutTime:10272028 Interval:10.009 seconds
    QUEUE_NAME                                     MQOPEN count 564 56/sec
    QUEUE_NAME                                     MQCLOSE count 564 56/sec

    QUEUE_NAME                                     MQCLOSE count 555 55/sec


    ----------------------

    [ amqsrua -m qmgr -c STATQ -t GENERAL -o qname ]

    Publication received PutDate:20240508 PutTime:10202187 Interval:29 days,16 hours,13 minutes,46.764 seconds
    QUEUE_NAME                                     messages expired 0
    QUEUE_NAME                                     queue purged count 0
    QUEUE_NAME                                     average queue time 55140 uSec
    QUEUE_NAME                                     Queue depth 0

    Publication received PutDate:20240508 PutTime:10203188 Interval:10.017 seconds
    QUEUE_NAME                                     messages expired 0
    QUEUE_NAME                                     queue purged count 0
    QUEUE_NAME                                     average queue time 21568 uSec
    QUEUE_NAME                                     Queue depth 0

    Publication received PutDate:20240508 PutTime:10204189 Interval:10.008 seconds
    QUEUE_NAME                                     messages expired 0
    QUEUE_NAME                                     queue purged count 0
    QUEUE_NAME                                     average queue time 0 uSec
    QUEUE_NAME                                     Queue depth 0

    Publication received PutDate:20240508 PutTime:10205189 Interval:10.000 seconds
    QUEUE_NAME                                     messages expired 0
    QUEUE_NAME                                     queue purged count 0
    QUEUE_NAME                                     average queue time 0 uSec
    QUEUE_NAME                                     Queue depth 0


    ------------------------------
    Hla Tun
    ------------------------------



  • 9.  RE: Applicaton put operation to a particular queue, experiences intermittent delays

    IBM Champion
    Posted Wed May 08, 2024 08:40 AM

    Hi Hla,

    Just be aware that the MQConnect is the most expensive call that you can make.

    It would behoove the application to cache the connection and reuse it. However, if broken or bad the application will need to recycle the connection and acquire a new one.

    This should lead to marked improvement for the throughput / timing.

    On the other hand the degradation over such a long period of time makes me suspect you may have a resource problem.
    Verify the application's use of resources, and most specific memory and paging. A slow memory leak could explain the behavior.

    Hope it helps



    ------------------------------
    Francois Brandelik
    ------------------------------



  • 10.  RE: Applicaton put operation to a particular queue, experiences intermittent delays

    Posted Wed May 08, 2024 08:56 AM

    Hello Francois,

    Thank you.

    I would like to ask, could you provide some ratings for the overall performance of the previously mentioned query report.

    I'm finding it a bit difficult to understand.



    ------------------------------
    Hla Tun
    ------------------------------



  • 11.  RE: Applicaton put operation to a particular queue, experiences intermittent delays

    IBM Champion
    Posted Wed May 08, 2024 02:01 PM

    Hi Hlan,

    As the reporting interval is 10 seconds, you learn much more from an application that does 10 calls per second, than from an application that does 1 call a minute. In order to have valid data your time interval needs to span at least 3 API calls from the app.

    Hope this helps



    ------------------------------
    Francois Brandelik
    ------------------------------



  • 12.  RE: Applicaton put operation to a particular queue, experiences intermittent delays

    Posted Wed May 08, 2024 04:07 PM

    You state 

    Typical Messages In/out per hour : 600 msgs
    Message Size : 1MB to 4MB

    however the stats you've provided show 

    QUEUE_NAME                                     MQPUT/MQPUT1 count 131584
    QUEUE_NAME                                     MQPUT byte count 545119562 213/sec

    suggesting an average message size of a little over 4KB on this queue.

    At the time you ran the amqsrua commands there doesn't seem to have been any put/get activity, but around 55 opens/closes per second. 55/second ought to be a trivial workload but it would be sensible to try and understand the apparent imbalance in these numbers.

    The commands you were requested to run were serially, however it would have been a bit more interesting if they'd been concurrent, as it is there might have been no activity when you ran the put/get commands but some activity when you ran the open/close commands.

    amqsrua isn't really the ideal tool for understanding where latency is occurring, the only latency numbers I recall amqsrua providing are the latency when writing to the recovery log (which might be worth checking, but it's a long shot).

    Even 1->3 seconds is a relative eternity for an MQPUT or an MQGET, yet alone a minute. Others have already mentioned the inefficiency of doing a loop of MQCONN; MQOPEN;MQPUT;MQCLOSE;MQDISC (or even MQCONN;MQPUT1;MQDISC), rather than reusing a longer lived connection. 

    That being said, it ought to be feasible for IBM L2/L3 to see a delay of this magnitude in an MQ trace. Have you engaged with IBM support on this topic ?



    ------------------------------
    Andrew Hickson
    ------------------------------



  • 13.  RE: Applicaton put operation to a particular queue, experiences intermittent delays

    Posted Wed May 08, 2024 09:31 PM

    Dear Andrew,

    Thank you for your insights.



    ------------------------------
    Hla Tun
    ------------------------------



  • 14.  RE: Applicaton put operation to a particular queue, experiences intermittent delays

    Posted Thu May 09, 2024 04:01 AM

    Hi Hla

    Is the source code of the application strictly confidential?

    If you traceroute between application and queue manager, is it always the same route?

    When you notice delays like more than 20 seconds - do you spot a pattern at the time stamps.

    How does the application measure the response time?



    ------------------------------
    Matthias Jungbauer
    ------------------------------



  • 15.  RE: Applicaton put operation to a particular queue, experiences intermittent delays

    Posted Thu May 09, 2024 12:53 PM
    Edited by Tim Zielke Thu May 09, 2024 02:00 PM

    The Application Activity Trace is another tool that can provide API response time. The MH06 supportpac has a tool to provide summary API response time data from an Application Activity Trace report.

    https://community.ibm.com/community/user/integration/blogs/tim-zielke1/2020/11/19/measuring-ibm-mq-distributed-api-response-time-wit


    ------------------------------
    Tim Zielke
    ------------------------------



  • 16.  RE: Applicaton put operation to a particular queue, experiences intermittent delays

    IBM Champion
    Posted Thu May 09, 2024 08:43 PM

    "Every put message, we're using the MQCONN+MQOPEN+MQPUT+MQCLOSE+MQDISC mechanism."

    Exactly how is the developer capturing these "response times of the put"? Are they taking a timestamp down to the millisecond, logging it, immediately doing the put call, immediately taking a timestamp down to the millisecond, logging it, and then calculating how long the put call took, factoring in the overhead of capturing the timestamps and calculating the diff? With absolutely 100% nothing else being included in between?

    "The developer mentioned that the client application makes a call with async wait for every queue. "
    Um, that is a strange thing for the developer to mention if the developer is focused on how long the put call takes. It makes me suspect the developer is starting the timer at the beginning of the transaction, including the app work ahead of the call to MQ, the connect, the open, the put, the close, the open of the response queue, waiting, waiting, waiting for the responding app to send back the reply, the close of the response queue, the disconnect, process the response, OK, stop the timer. 

    I'm with Tim, App Activity Trace can go a long way to show if any of the MQ calls themselves are slow, and exactly how much time the app is spending doing other slow stuff in between those fast MQ calls.



    ------------------------------
    Peter Potkay
    ------------------------------



  • 17.  RE: Applicaton put operation to a particular queue, experiences intermittent delays

    Posted Fri May 10, 2024 03:37 AM

    Hello Peter,

    Thank you very much. This breakdown of the flow is quite interesting and well done.

    Currently, I'm waiting a response from my dev team, I believe they're quite busy with their projects. In the meantime, I'll proceed with Tim's mentioned method and see what results we obtain.



    ------------------------------
    Hla Tun
    ------------------------------



  • 18.  RE: Applicaton put operation to a particular queue, experiences intermittent delays

    Posted Fri May 10, 2024 03:30 AM

    Hello Tim,

    Thank you for the pointing tool. I'll give it a try and get back with the results.



    ------------------------------
    Hla Tun
    ------------------------------



  • 19.  RE: Applicaton put operation to a particular queue, experiences intermittent delays

    IBM Champion
    Posted Mon May 13, 2024 07:41 AM

    If you don't want to be intrusive or make any changes, you can also use amqsact or amqsactc from the samples in verbose mode.

    see the example: amqsact -m QMGR1 -w 30 -a amqsput.exe -v This will provide the activity trace for each of the MQI calls with the time it took to run the MQI call, here is an example with chosen parts of the results. (The app is MQ Explorer 9.3.0)

    MQI Operation: 19
      Operation Id: MQXF_GET
      ApplicationTid: 324
      OperationDate: '2024-05-13'
      OperationTime: '07:18:43'
      QMgr Operation Duration: 7315   -- this duration is in microseconds (on the queue manager) and does not include network time
      Completion Code: MQCC_OK
      Reason Code: 0
      Hobj: 6
      Get Options: 33579013
    
    --------
    MQI Operation: 4
      Operation Id: MQXF_PUT
      ApplicationTid: 324
      OperationDate: '2024-05-13'
      OperationTime: '07:33:26'
      High Res Time: 1715600006456582
      QMgr Operation Duration: 26
      Completion Code: MQCC_OK
      Reason Code: 0
      Hobj: 4
      Put Options: 196
      Msg length: 56
      Known_dest_count: 1
    -----
     and the following get (4 ms)
    MQI Operation: 5
      Operation Id: MQXF_GET
      ApplicationTid: 324
      OperationDate: '2024-05-13'
      OperationTime: '07:33:26'
      QMgr Operation Duration: 4474
      Completion Code: MQCC_OK
      Reason Code: 0
      Hobj: 6
      Get Options: 33579013
      Msg length: 600

    Hope it helps understanding app time vs mq time. Note that you would have to add the network time to correlate with the app percieved time of the call.



    ------------------------------
    Francois Brandelik
    ------------------------------



  • 20.  RE: Applicaton put operation to a particular queue, experiences intermittent delays

    Posted Wed May 29, 2024 11:10 PM

    Still no resolution on this issue. We found a small problem where the Application Load Balancer idle timeout was less than the SVRCONN channel HBINT.

    We increased it to be higher than the HBINT, and no abnormal logs were found in the MQ.

    The server hardware resource utilization is still normal. However, the put time is still increasing (averaging 60ms per day) for some of the local queues and also the remote queue based upon the dev team report.

    I will escalate this to IBM Support. Thank you all.



    ------------------------------
    Hla Tun
    ------------------------------



  • 21.  RE: Applicaton put operation to a particular queue, experiences intermittent delays

    IBM Champion
    Posted Thu May 30, 2024 02:04 AM

    I'm sorry to hear you have not found any resolution yet.

    We did not hear back from you on what you found with Application Activity Trace. As a number of people mentioned, this would show you the time spent INSIDE an MQ call (e.g. the MQPUT) and the time BETWEEN MQ calls, thus showing where the delay might be happening.

    I have had a quick re-read of all the posts in this thread, and I noticed in your second post you mentioned that DEFPRESP(ASYNC) is in use, which would mean that the MQPUT call will not wait for an answer from the queue manager before returning control to the client application. This would make an elongated time spent in MQPUT very unlikely, and makes it seem, as others have suggested, that the timer being measured includes both the MQPUT and the MQGET-wait for a response message. Could this be the case? Could it be that the problem is that the responses are sometimes taking a long time to be sent back.

    I also ponder whether there is a possibility that with the use of Async Put Response as you have, that there is an MQPUT that failed that you therefore do not know about, and so the MQGET will wait for the full length of Wait Interval before ending and this makes the timer look longer. Does the application make any periodic calls to MQSTAT to see whether an Async Puts actually failed? You have mentioned that your application is time sensitive, but is it also happy to cope with an MQPUT failure not being reported to it (behaviour given by Async Put).

    Alternatively, an elongated time from the application perspective could come about as a result of reconnection, if indeed your network is closing idle sockets. Does your application make use of automatic reconnect, and so would not be aware of the various API calls that would be made "under-the-covers" to regain the connection and queue handle for you, and it would just look like one API call taking a long time?

    If you want to be aware of the fact that automatic reconnect has happened, you can code a connection listener. If this is pertinent to your situation, let me know and I'll dig out which sample it is that shows this.

    Cheers,
    Morag



    ------------------------------
    Morag Hughson
    MQ Technical Education Specialist
    MQGem Software Limited
    Website: https://www.mqgem.com
    ------------------------------



  • 22.  RE: Applicaton put operation to a particular queue, experiences intermittent delays

    Posted Thu May 30, 2024 10:18 PM

    Thank you for your detailed response and suggestions.

    Regarding the Application Activity Trace, apologize for not getting back earlier. I'm still trying to find the right time to do the test. Interestingly, yesterday all the connected applications were restarted by the dev team, and the issue has temporarily resolved. I'll keep you updated on the progress.

    In the meantime, I will use and test the trace tool that Tim mentioned.

    Thanks again for your help.



    ------------------------------
    Hla Tun
    ------------------------------