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 » Archives - All » Big Numbers when using UseMCC=Y

This forum is locked: you cannot post, reply to, or edit topics.  This topic is locked: you cannot edit posts or make replies.
 Big Numbers when using UseMCC=Y « View previous topic :: View next topic » 
Author Message
PeterPotkay
PostPosted: Mon Apr 24, 2006 1:25 pm    Post subject: Big Numbers when using UseMCC=Y Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

Roger, is there any worry about setting the max number of channels for a SVRCONN to say 1000, or 2000? To date, we have had no problems using 100 as a limit, and just want to be sure that big numbers are handled OK by MQAUSX. Any perfomance or functionality worries if MQAUSC needs to keep track of thousands of instances of a channel?
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
RogerLacroix
PostPosted: Mon Apr 24, 2006 2:22 pm    Post subject: Re: Big Numbers when using UseMCC=Y Reply with quote

Jedi Knight

Joined: 15 May 2001
Posts: 3253
Location: London, ON Canada

PeterPotkay wrote:
Roger, is there any worry about setting the max number of channels for a SVRCONN to say 1000, or 2000?

No. You can safely go up to 2147483648.

PeterPotkay wrote:
To date, we have had no problems using 100 as a limit, and just want to be sure that big numbers are handled OK by MQAUSX.

The max limit for each channel is stored in a C Integer ('int') which is 32-bits on all supported platforms. Hence, no worries.

PeterPotkay wrote:
Any perfomance or functionality worries if MQAUSC needs to keep track of thousands of instances of a channel?

The speed at which MQAUSX calculates the max limit for 1000 will be the same when it is 10.

PeterPotkay wrote:
Any perfomance or functionality worries if MQAUSC needs to keep track of thousands of instances of a channel?

MQAUSX does a shared memory lookup and does not access a queue each time the limit is checked. It is very, very fast.

You may want to tune MQAUSX for a particular channel if the number of 'connection attempts' per minute is very high. The default values for MCCRedoSeconds is 60 seconds and MCCRedoCount is 100. Meaning, MQAUSX will do a PCF 'dis chl()' command every 60 seconds or 100 connections (which ever comes first).

If your system is stable (listener not crashing) then those values probably overkill. Checking once an hour is plenty but probably twice a day is fine.

For once an hour use:
MCCRedoSeconds=3600
MCCRedoCount=10000

For twice a day use:
MCCRedoSeconds=43200
MCCRedoCount=100000

Note: For MCCRedoCount, I'm just guessing at how many connection attempts are made to your queue manager per hour.

Please let me know if you have any other questions.

Regards,
Roger Lacroix
Capitalware Inc.
_________________
Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter
Back to top
View user's profile Send private message Visit poster's website
PeterPotkay
PostPosted: Tue Apr 25, 2006 7:46 am    Post subject: Re: Big Numbers when using UseMCC=Y Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

RogerLacroix wrote:

You may want to tune MQAUSX for a particular channel if the number of 'connection attempts' per minute is very high. The default values for MCCRedoSeconds is 60 seconds and MCCRedoCount is 100. Meaning, MQAUSX will do a PCF 'dis chl()' command every 60 seconds or 100 connections (which ever comes first).

If your system is stable (listener not crashing) then those values probably overkill. Checking once an hour is plenty but probably twice a day is fine.

Let's say I set it to once an hour. If I cap it at 1000, MQAUSX keeps a running total for every new connection. Once it hits 1000, as soon as it hits 1000, any new connections are rejected, correct? However, once the connections start going away on their own, it won't be until the next hourly check that MQAUSX would see the lower number? Until which point it would be rejecting new connections because it still thought it was at 1000?
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
RogerLacroix
PostPosted: Tue Apr 25, 2006 8:22 am    Post subject: Re: Big Numbers when using UseMCC=Y Reply with quote

Jedi Knight

Joined: 15 May 2001
Posts: 3253
Location: London, ON Canada

PeterPotkay wrote:
Let's say I set it to once an hour. If I cap it at 1000, MQAUSX keeps a running total for every new connection. Once it hits 1000, as soon as it hits 1000, any new connections are rejected, correct?

Yes.

The server-side security exit has 2 values for each channel: CurrentTotal and MaxLimit.

- Everytime a connection is initiated (MQCONN) the CurrentTotal is incremented by one.
- Everytime a connection is disconnected (MQDISC) the CurrentTotal is decremented by one.

Therefore, the logic for a new connection is:
Code:
CurrentTotal++;
TimesViewed++;
if ( (TimesViewed > MCCRedoCount) || (elapsed_time > MCCRedoSeconds) )
   // Issue PCF 'dis chl()' command and update CurrentTotal field

if (CurrentTotal > MaxLimit)
   // reject connection

The whole point of the ReDo code is to make sure that MQAUSX's CurrentTotal field always matches what the queue manager has. As I said, if the listener is not crashing or the MQ Admin is not adding - removing - adding the MQAUSX security exit, then MQAUSX will have the correct total channel connections for a given channel. Hence, the ReDo (refresh) only needs to be done a once or twice a day.

PeterPotkay wrote:
However, once the connections start going away on their own, it won't be until the next hourly check that MQAUSX would see the lower number? Until which point it would be rejecting new connections because it still thought it was at 1000?

No. As the connections decrease then MQAUSX will decrease the CurrentTotal field. Hence, it will always be in sync with the actual number of connections on the channel.

Hope that helps.

Regards,
Roger Lacroix
Capitalware Inc.
_________________
Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter
Back to top
View user's profile Send private message Visit poster's website
PeterPotkay
PostPosted: Wed Apr 26, 2006 8:03 am    Post subject: Re: Big Numbers when using UseMCC=Y Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

RogerLacroix wrote:

- Everytime a connection is disconnected (MQDISC) the CurrentTotal is decremented by one.

I'm assumming orphaned connections that eventually get cleaned up by Keep Alive do not issue MQDISC, and thus do not drive your logic to decrement CurrenTotal? And so the ReDo parm / logic becomes important to stay current?
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
RogerLacroix
PostPosted: Wed Apr 26, 2006 8:59 pm    Post subject: Reply with quote

Jedi Knight

Joined: 15 May 2001
Posts: 3253
Location: London, ON Canada

Hi,

I've never tested it but when the listener cleans up an orphaned connection, it should also call the security exit with with an ExitReason of MQXR_TERM. Hence, the security exit would update all counters and cleanup its stuff.

Therefore, MQAUSX would always be in sync except in the case of a listener crash.

Regards,
Roger Lacroix
Capitalware Inc.
_________________
Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.  This topic is locked: you cannot edit posts or make replies. Page 1 of 1

MQSeries.net Forum Index » Archives - All » Big Numbers when using UseMCC=Y
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.