Author |
Message
|
ritesh_iitr02 |
Posted: Wed May 14, 2008 4:15 am Post subject: Problem using .Net monitor runmqdnm.exe |
|
|
Newbie
Joined: 14 May 2008 Posts: 1
|
Hi,
I am using the .Net monitor runmqdnm.exe to monitor a queue.
Whenever a message is put on the queue, .Net monitor will invoke a dll and pass the message to it for processing.
In the documentation about runmqdnm, it is mentioned that by default the number of threads is 20. But when i checked the threads for runmqdnm, on initializing itself, there are 6 or 7 threads.
Then I am putting 20 messages on the queue. The thread count for runmqdnm goes upto 40 and after processing the messages comes down to 18.
Now my question is that how can the thread count be more than 20 as mentioned in the documentation.
Other problem which I am facing is that the .Net monitor takes lot of time to pick the message from the queue and pass it to the dll for processing when there are lots of messages on the queue. The time difference between the time message was put on the queue and the time it was passed to the dll is quite big. It goes upto couple of minutes in some scenarios which is affecting the response time of the system which is measured as the difference in the time messages come to the queue and the time response is sent by the dll for the message. The requirement of the application is that it should respond for a message in a particular interval of time after receiving the message.
Can somebody please suggest what could be going wrong?
I could not find much information on the .Net monitor.
Regards,
Ritesh |
|
Back to top |
|
 |
chaospixel |
Posted: Thu Feb 04, 2010 12:22 am Post subject: |
|
|
Newbie
Joined: 04 Feb 2010 Posts: 1
|
Hi,
did you ever resolve this? |
|
Back to top |
|
 |
Vento_27 |
Posted: Fri Jul 01, 2011 2:27 pm Post subject: |
|
|
 Newbie
Joined: 09 Sep 2010 Posts: 8 Location: Guadalajara, Jalisco, Mexico
|
I am facing the same issue regarding .Net monitor is taking a long of time to pick up a message from the queue. Any idea? |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Jul 01, 2011 10:07 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Vento_27 wrote: |
I am facing the same issue regarding .Net monitor is taking a long of time to pick up a message from the queue. Any idea? |
Well you have completely the wrong idea. This is not a problem with the .NET monitor, it is a problem with your consuming application.
If you have 1,000 messages in the queue and you run your application single threaded and you need 1 second to process each message.... Well your last message may well be 1,000 seconds old before it gets processed!.
So fix your application! and possibly the design. Should this really be a triggered app or a long running one using a get with wait ?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
Vento_27 |
Posted: Thu Jul 07, 2011 8:33 am Post subject: |
|
|
 Newbie
Joined: 09 Sep 2010 Posts: 8 Location: Guadalajara, Jalisco, Mexico
|
I'm using the runmqdnm , it is working fine as multithread, it runs each thread per message that arrives to my queue, it is not the issue. The issue or I'm not sure wheather it is designed like that, is that alway when the monitore wants to consume the first message, it delays like 2.5mins, after the first consume, everything looks fine. I omitted the -n parameter to get the 20 maxThread as default, is it the time the monitor needs to open the threads to the queue? I'm guessing... I will continue investingating, if I get the answer I'll post..... |
|
Back to top |
|
 |
Vento_27 |
Posted: Thu Jul 07, 2011 12:52 pm Post subject: |
|
|
 Newbie
Joined: 09 Sep 2010 Posts: 8 Location: Guadalajara, Jalisco, Mexico
|
My runmqdnm starts whenever a first message gets to a queue as triggger. When the runmqdnm is not used in -t 300 (5mins) it ends, next time another messages arrives to the queue, we need to wait 2.5mins aprox again. Any idea? |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Jul 07, 2011 1:01 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Are you placing the execution of the triggered process in the background?
How is your application processing messages. How long does it take to process a message?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
Vento_27 |
Posted: Fri Jul 08, 2011 7:46 am Post subject: |
|
|
 Newbie
Joined: 09 Sep 2010 Posts: 8 Location: Guadalajara, Jalisco, Mexico
|
Windows 2003 - MQ v6 and v7
The runmqtrm.exe is running as MQ Service with the same Init Queue that I use in the Queue to Trigger the Process. In the Process Definition -> Application ID = C:\MQ_Deployment\TriggerDemCorp\Trigger.cmd
That Trigger.cmd has:
START /B C:\PROGRA~1\IBM\WEBSPH~1\bin\runmqdnm.exe -q SINCRONIZACION.ENTRADA -a c:\MQ_deployment\TriggerDemCorp\TriggerDemCorp.dll -m CORP_SKMX -c MQTriggers.TriggerDemCorp -s YES -t 300
I have all my triggers the same than this one. |
|
Back to top |
|
 |
Vento_27 |
Posted: Fri Jul 08, 2011 7:56 am Post subject: |
|
|
 Newbie
Joined: 09 Sep 2010 Posts: 8 Location: Guadalajara, Jalisco, Mexico
|
the monitor starts right away when the message arrives to the queue, but to process it, it takes like 2.5minutes. |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Jul 08, 2011 8:24 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Vento_27 wrote: |
Windows 2003 - MQ v6 and v7
The runmqtrm.exe is running as MQ Service with the same Init Queue that I use in the Queue to Trigger the Process. In the Process Definition -> Application ID = C:\MQ_Deployment\TriggerDemCorp\Trigger.cmd
That Trigger.cmd has:
START /B C:\PROGRA~1\IBM\WEBSPH~1\bin\runmqdnm.exe -q SINCRONIZACION.ENTRADA -a c:\MQ_deployment\TriggerDemCorp\TriggerDemCorp.dll -m CORP_SKMX -c MQTriggers.TriggerDemCorp -s YES -t 300
I have all my triggers the same than this one. |
I see no -n for max threads? That means you are single threading the processing of the queue, right?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
Vento_27 |
Posted: Fri Jul 08, 2011 11:09 am Post subject: |
|
|
 Newbie
Joined: 09 Sep 2010 Posts: 8 Location: Guadalajara, Jalisco, Mexico
|
I saw in the "WebSphere MQ 6 System Administration Guide" in the runmqdnm section that that parameter means 20 MaxThread if omtted.
----
-n MaxThreads
The maximum number of active worker threads.
If omitted, MaxThreads is specified as 20.
----
I guess that is working, because I'm testing sending 5 messages and I can see 5 monitors running.
Or, how can I verify that ? [/img] |
|
Back to top |
|
 |
|