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 » News/Updates » New: MQ Channel Throttler v1.0.0

Post new topic  Reply to topic
 New: MQ Channel Throttler v1.0.0 « View previous topic :: View next topic » 
Author Message
RogerLacroix
PostPosted: Mon Mar 30, 2015 8:42 am    Post subject: New: MQ Channel Throttler v1.0.0 Reply with quote

Jedi Knight

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

All,

Capitalware Inc. would like to announce the official release of MQ Channel Throttler v1.0.0.

MQ Channel Throttler (MQCT) provides the ability to control/throttle the number of messages or bytes that flow over a channel. MQCT operates with IBM MQ (aka WebSphere MQ & MQSeries) v6.0, v7.0, v7.1, v7.5 and v8.0 in Windows, Unix, IBM i (OS/400) and Linux environments. It operates with Sender, Receiver, Server, Requester, Cluster-Sender, Cluster-Receiver, Server Connection and Client Connection channels of the WMQ queue managers.

MQCT is a simple drop-in solution that provides throttling for MQ queue managers. The throttling can be configured for queue manager to queue manager channels or for client application to queue manager channels. The MQCT can be configured as a queue manager channel message exit or as a channel sender/receive exit.

On IBM i, Linux, Unix and Windows, MQCT can be configured and used with a non-default installation of MQ in a multi-install MQ environment.

For more information about MQCT, please go to: http://www.capitalware.com/mqct_overview.html

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
zpat
PostPosted: Tue Mar 31, 2015 12:44 am    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5849
Location: UK

Can this exit also be used to limit the rate of MQI operations against a channel (regardless of the amount of data transferred).

For example an application performing rapid MQGETs (without wait) on an empty queue?

Or an application using MQCONN or MQOPEN too frequently due to poor programming?
_________________
Well, I don't think there is any question about it. It can only be attributable to human error. This sort of thing has cropped up before, and it has always been due to human error.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Tue Mar 31, 2015 4:14 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20696
Location: LI,NY

zpat wrote:
Can this exit also be used to limit the rate of MQI operations against a channel (regardless of the amount of data transferred).

For example an application performing rapid MQGETs (without wait) on an empty queue?

Or an application using MQCONN or MQOPEN too frequently due to poor programming?

I would have thought that an activity trace would allow you to catch those offenders pretty quickly?
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
PeterPotkay
PostPosted: Tue Mar 31, 2015 5:10 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

fjb_saper wrote:
zpat wrote:
Can this exit also be used to limit the rate of MQI operations against a channel (regardless of the amount of data transferred).

For example an application performing rapid MQGETs (without wait) on an empty queue?

Or an application using MQCONN or MQOPEN too frequently due to poor programming?

I would have thought that an activity trace would allow you to catch those offenders pretty quickly?


Who's got time to sit and watch Activity Traces all day and night?
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
RogerLacroix
PostPosted: Tue Mar 31, 2015 8:08 am    Post subject: Reply with quote

Jedi Knight

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

zpat wrote:
Can this exit also be used to limit the rate of MQI operations against a channel (regardless of the amount of data transferred).

For example an application performing rapid MQGETs (without wait) on an empty queue?

MQCT was designed to control/limit/throttle messages (or bytes) flowing over a channel. Since a message correlates to an MQGET or MQPUT/1 then yes, if you use
Code:
MessageRate=5/s
ClientAction=G

It says to limit the MQGETs to 5 per second (and ignore any MQPUT/1s).

The default value for ClientAction is 'B' (Both) which means MQCT counts both MQGETs and MQPUT/1s.

The flip-side for controlling the MQPUT/1s would be:
Code:
MessageRate=80/m
ClientAction=P

which says to only allow 80 MQPUT/1s per minute (and ignore any MQGETs).

zpat wrote:
Or an application using MQCONN or MQOPEN too frequently due to poor programming?

Not in MQCT but did you read my posting on Excessive Client Connections feature I am adding to MQAUSX & z/MQAUSX (and to MQSSX & z/MQSSX).

90% of everything I create, products and/or features, is driven out of customer requests, so if you think there is a particular need then let me know.

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
zpat
PostPosted: Tue Mar 31, 2015 12:18 pm    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5849
Location: UK

It's not just about identifying these (I can often see them in the BlockIP2 log) but to constrain them.

But it's not easy to get code changed (and it might be vendor written) but the ability to insert a delay between their MQI operations might be useful.
_________________
Well, I don't think there is any question about it. It can only be attributable to human error. This sort of thing has cropped up before, and it has always been due to human error.
Back to top
View user's profile Send private message
RogerLacroix
PostPosted: Tue Mar 31, 2015 12:46 pm    Post subject: Reply with quote

Jedi Knight

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

zpat wrote:
It's not just about identifying these (I can often see them in the BlockIP2 log) but to constrain them.

But it's not easy to get code changed (and it might be vendor written) but the ability to insert a delay between their MQI operations might be useful.

So, you are saying that 'ClientAction' should support 4 values: C, O, G & P for MQCONN/X, MQOPEN, MQGET and MQPUT/1. And 3 rate keywords: Rate, MessageRate and ByteRate.

So, you want to be able to have no more than 8 connections per second:
Code:
ClientAction=C
Rate=8/s

Or no more than 100 opens per minute:
Code:
ClientAction=O
Rate=100/m

Is this what you are thinking?

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
zpat
PostPosted: Tue Mar 31, 2015 1:17 pm    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5849
Location: UK

That sort of thing.

Doesn't mean we would necessarily purchase the exit of course, corporate mentality being what it is!
_________________
Well, I don't think there is any question about it. It can only be attributable to human error. This sort of thing has cropped up before, and it has always been due to human error.
Back to top
View user's profile Send private message
tczielke
PostPosted: Tue Mar 31, 2015 1:39 pm    Post subject: Reply with quote

Guardian

Joined: 08 Jul 2010
Posts: 939
Location: Illinois, USA

It is too bad you can't write these exits in Java. That would help get things slowed down. Just kidding.
_________________
Working with MQ since 2010.
Back to top
View user's profile Send private message
RogerLacroix
PostPosted: Wed Apr 22, 2015 2:20 pm    Post subject: Reply with quote

Jedi Knight

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

All,

To bring this topic full circle, I took T.Rob's and zpat's comments regarding MQ Channel Throttler (MQCT) and implemented them.

So the new and improved MQCT v1.0.0 also includes:
    - the ability to throttle by connection calls (MQCONN & MQCONNX)
    - the ability to throttle by open calls (MQOPEN)
    - will (optional) emit an alert to an event queue if MQCT inserts a delay
    - will (optional) write a syslog message if MQCT inserts a delay
    - if the MQCT IniFile is changed, MQCT will dynamically update itself

I changed the ClientAction keyword to APIType because MQCT is no longer about just throttling messages.
APIType supports:
    - C means that MQCT will throttle for MQCONN and MQCONNX calls
    - O means that MQCT will throttle for MQOPEN call
    - G means that MQCT will throttle for MQGET call
    - P means that MQCT will throttle for MQPUT and MQPUT1 calls

i.e.
Code:
APIType=C,O,G,P

I have updated the documentation and the web site.

If anyone has any other comments, please share them.

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:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » News/Updates » New: MQ Channel Throttler v1.0.0
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.