ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » IBM MQ API Support » Cause and fix for high count of OPPROCS when doing dis qs

Post new topic  Reply to topic Goto page 1, 2  Next
 Cause and fix for high count of OPPROCS when doing dis qs « View previous topic :: View next topic » 
Author Message
mikeHT
PostPosted: Wed Apr 19, 2006 6:23 am    Post subject: Cause and fix for high count of OPPROCS when doing dis qs Reply with quote

Voyager

Joined: 01 Jul 2005
Posts: 82

I see lots of open handles (OPPROCS) against the system.cluster.transmit.queue. Application(s) put to remote clustered queue alias.

dis qs(SYSTEM.CLUSTER.TRANSMIT.QUEUE)
AMQ8450: Display queue status details.
QUEUE(SYSTEM.CLUSTER.TRANSMIT.QUEUE) IPPROCS(2)
OPPROCS(169) CURDEPTH(0) UNCOM(NO)

I did another dis qs this morning and here is the log:
dis qs(SYSTEM.CLUSTER.TRANSMIT.QUEUE)
AMQ8450: Display queue status details.
QUEUE(SYSTEM.CLUSTER.TRANSMIT.QUEUE) IPPROCS(1)
OPPROCS(184) CURDEPTH(0) UNCOM(NO)

dis qs(SYSTEM.CLUSTER.TRANSMIT.QUEUE) type(handle) all
displays a long list of application pids, some which are duplicate, some are displayed several times (I once counted 13 times)
My question is if OPPROCS shows high number would that impact system resources and what I should look for in the applications' codes to resolve the high number of handles against SCTQ? Thank you.
Back to top
View user's profile Send private message
wschutz
PostPosted: Wed Apr 19, 2006 6:49 am    Post subject: Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

Why is this a concern? Might you have a lot of applications putting messages to clustered objects?
_________________
-wayne
Back to top
View user's profile Send private message Send e-mail AIM Address
jefflowrey
PostPosted: Wed Apr 19, 2006 6:55 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

I would only consider it a concern if there were no IPPROCS and the CURRDEPTH was > 0.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
mikeHT
PostPosted: Wed Apr 19, 2006 7:23 am    Post subject: Reply with quote

Voyager

Joined: 01 Jul 2005
Posts: 82

IBM MQ support ( 1-800-IBMSERV ) was concerned about the highcount.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Wed Apr 19, 2006 7:30 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

In what context?

Will you share the PMR #?
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
wschutz
PostPosted: Wed Apr 19, 2006 7:36 am    Post subject: Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

mikeHT wrote:
IBM MQ support ( 1-800-IBMSERV ) was concerned about the highcount.
Did you open a PMR for this "problem" or was it a different problem?

In any case, if you think the number is high, then you need to see what application have the queue open and work with the developers to understand the counts.
_________________
-wayne
Back to top
View user's profile Send private message Send e-mail AIM Address
mikeHT
PostPosted: Wed Apr 19, 2006 8:36 am    Post subject: Reply with quote

Voyager

Joined: 01 Jul 2005
Posts: 82

48296,487

The issue was about messages stuck in SCTQ (mqseries.net topicid 28164) and was resolved after fixing the network duplex setting between the QMGRs. During the investigation, IBM support was concerned with the high OPPROCS count and that application developer should be involved. But what should I ask developer to look into?
Back to top
View user's profile Send private message
wschutz
PostPosted: Wed Apr 19, 2006 9:11 am    Post subject: Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

for example:
Quote:
pids, some which are duplicate, some are displayed several times (I once counted 13 times)
Okay, is that PID an application program? If so, is it expected that the program has 13 connections to the qmgr?
_________________
-wayne
Back to top
View user's profile Send private message Send e-mail AIM Address
mikeHT
PostPosted: Wed Apr 19, 2006 9:59 am    Post subject: Reply with quote

Voyager

Joined: 01 Jul 2005
Posts: 82

The PID is for 1 application program which polls to check that remote clustred queue alias is present. The 13 instances of PID(11984) when doing dis qs(SCTQ) type(handle) all. That is caused by the application putting to the remote clustered queue alias which consequently caused the OPPROCS counts on the SCTM. But why after the application put to SCTM, we don't see the OPPROCS count go to 1 in this case?
Back to top
View user's profile Send private message
wschutz
PostPosted: Wed Apr 19, 2006 11:08 am    Post subject: Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

Quote:
The PID is for 1 application program which polls to check that remote clustred queue alias is present.
I'd ask why the application needs to do that...I wouldn't normally expect applications to query for queue's being present.
Quote:
The 13 instances of PID(11984) when doing dis qs(SCTQ) type(handle) all. That is caused by the application putting to the remote clustered queue alias which consequently caused the OPPROCS counts on the SCTM
I'd suspect a programming error here.... is it creating connections to the qmgr for each message being put and then not releasing them?
_________________
-wayne
Back to top
View user's profile Send private message Send e-mail AIM Address
mikeHT
PostPosted: Wed Apr 19, 2006 12:22 pm    Post subject: Reply with quote

Voyager

Joined: 01 Jul 2005
Posts: 82

wschutz wrote:
Quote:
I'd ask why the application needs to do that...I wouldn't normally expect applications to query for queue's being present.

The application is checking if remote cluster queue alias is available for put. If the remote cluster queue alias is not available, get the following error thrown to application log. Application log fills up very quickly because it polls every 10th of a sec

The description for Event ID ( 0 ) in Source ( amqmdnet ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: EXCEPTION 1: IBM.WMQ.MQException
Error in the application.

******************** STACK TRACE ********************
at IBM.WMQ.MQQueue..ctor(MQQueueManager qMgr, String queueName, Int32 openOptions, String queueManagerName, String dynamicQueueName, String alternateUserId)
at IBM.WMQAX.MQQueueManager.AccessQueue(String queueName, Int32 openOptions, String queueManagerName, String dynamicQueueName, String alternateUserId)
at IBM.WMQAX.MQQueueManager.AccessQueue(String queueName, Int32 openOptions)
at APP.MQManagement.QueueManager.Open(String paramFile, String openAppId) in C:\APP\SRC\Common\Objects
******************** EXCEPTION PROPERTIES ********************
ReasonCode: 2189
Reason: 2189
CompletionCode: 2
CompCode: 2
TargetSite: Void .ctor(IBM.WMQ.MQQueueManager, System.String, Int32, System.String, System.String, System.String)
Source: amqmdnet
--------------------------------------------------------------------------------------------------------

Quote:
The 13 instances of PID(11984) when doing dis qs(SCTQ) type(handle) all. That is caused by the application putting to the remote clustered queue alias which consequently caused the OPPROCS counts on the SCTM
I'd suspect a programming error here.... is it creating connections to the qmgr for each message being put and then not releasing them?

I'm suspecting that is what is happening but I don't have MQ develop experience. The codes are in VB .NET and they are using: Imports IBM.WMQAX & Imports IBM.WMQ.MQC. What should I be looking for in the codes to find that the application is not properly releasing the connections to the qmgr or remote cluster queue alias? Thank you.
Back to top
View user's profile Send private message
wschutz
PostPosted: Wed Apr 19, 2006 4:02 pm    Post subject: Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

Looks like you have your hands full there..... you should at least see an disconnect() method call for every qmgr instalnce created:

http://publib.boulder.ibm.com/infocenter/wmqv6/v6r0/index.jsp?topic=/com.ibm.mq.csqzav.doc/csqzav0568.htm
_________________
-wayne
Back to top
View user's profile Send private message Send e-mail AIM Address
mikeHT
PostPosted: Thu Apr 20, 2006 1:15 pm    Post subject: Reply with quote

Voyager

Joined: 01 Jul 2005
Posts: 82

Developers are using MQ's Component Object Model Interface (IBM.WMQAX, IBM.WMQ.MQC)
Is it true to say that there need to be a MQQueueManager::Disconnect for each MQAXSession::AccessQueueManager?

For one instance mq trace, I counted 62 MQAXSession::AccessQueueManager and only 50 MQQueueManager::Disconnect.
Is that the reason for the high OPPROCS count? If that is the cause, I'll ask the developers to check their code for calling MQQueueManager::Disconnect for each MQAXSession::AccessQueueManager
Thank you.
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Thu Apr 20, 2006 1:40 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

you've got it.
They should also be closing each q as well (although they get an implicit close of the queues if they dosconnect that QM, its cleaner to explicitly close the q)
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
mikeHT
PostPosted: Tue May 16, 2006 8:22 am    Post subject: Reply with quote

Voyager

Joined: 01 Jul 2005
Posts: 82

Still trying to get the developer to issue the disconnect explictly, when the applications reset because they did not complete. Is there a MAX OPPROCS count which could cause MQ Queue manager to crash or act funny? Lots of OPPROCS against lqeueus eat up on system resource right? Thanks
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » IBM MQ API Support » Cause and fix for high count of OPPROCS when doing dis qs
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.