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 » WebSphere Message Broker (ACE) Support » creating a test harness for message broker

Post new topic  Reply to topic
 creating a test harness for message broker « View previous topic :: View next topic » 
Author Message
WBIMaestro
PostPosted: Fri Dec 23, 2011 8:49 am    Post subject: creating a test harness for message broker Reply with quote

Acolyte

Joined: 18 Feb 2005
Posts: 53

Hi All,

I have a situation where I might have to have the same flow read from a different input queue for each different customer. need to replicate the flow in this way because the sending application cannot be updated in time to put some data in the RFH2header that would diffferentiate the customer messages (if they were to come to the same queue).

Has anyone faced a similar issue and can think of any alternatives?

assuming that repliating the flow 200 times for 200 different customer input and output queues is the only way to go, I would like to do some performance tests to see what kind of resource usage such a setup has.

If I remeber right there was some way to set the i/p and o/p quue names as properties to the message flow which would just pick up the right queue name at deploy-time. Is that correct and how is that implemented?

Is there any tool for stress testing the broker. In this case I need to continously resend a particular sequence of 5 messages repeatedly. Could probably do it from command line but just checking for alternatives.

thanks and happy holidays!!
Back to top
View user's profile Send private message
Vitor
PostPosted: Fri Dec 23, 2011 9:33 am    Post subject: Re: creating a test harness for message broker Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

WBIMaestro wrote:
I have a situation where I might have to have the same flow read from a different input queue for each different customer. need to replicate the flow in this way because the sending application cannot be updated in time to put some data in the RFH2header that would diffferentiate the customer messages (if they were to come to the same queue).


You do know how the flow will react to 200 MQInput nodes? Stress testing might involve just starting it.

WBIMaestro wrote:
Has anyone faced a similar issue and can think of any alternatives?


Why is it important to distinguish between input from different customers? What changes need to be made in the processing between customers? What else is distinctive in the message or the MQMD? Like the ReplyTo queue manager?

WBIMaestro wrote:
assuming that repliating the flow 200 times for 200 different customer input and output queues is the only way to go, I would like to do some performance tests to see what kind of resource usage such a setup has.


You either need 200 versions of the flow with 200 names (which is a maintenance nightmare), 1 flow with 200 input nodes or 1 flow in 200 execution groups. I don't see a good option here.

WBIMaestro wrote:
If I remeber right there was some way to set the i/p and o/p quue names as properties to the message flow which would just pick up the right queue name at deploy-time. Is that correct and how is that implemented?


Look up promoted properties.

WBIMaestro wrote:
Is there any tool for stress testing the broker. In this case I need to continously resend a particular sequence of 5 messages repeatedly. Could probably do it from command line but just checking for alternatives.


The command line is the best bet, with some script. I don't mean the amqsput sample but the support pacs
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
smdavies99
PostPosted: Fri Dec 23, 2011 10:20 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

Loadrunner is a tool that would do this job very nicely. Costs $$$ though.

As Vitor says your proposed solution is frankly one that I'd not even consider.
If there truly is nothing in the data that can distinguish between customers then I'd really have to say that your design is slightly flawed.

you are not alone here. We do see quite a number of 'requirement' that have been dreamed up out of thin air with no regard (or even and knowledge or understanding) of what Broker can or more importantly can't do.
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Fri Dec 23, 2011 10:24 am    Post subject: Reply with quote

Grand High Poobah

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

2 queues, 1 flow with a few additional instances should do it.
You need to design in such a manner that this will work.

Worst case scenario: 201 queues (1 input, 200 replyto queues)...

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Vitor
PostPosted: Fri Dec 23, 2011 10:24 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

smdavies99 wrote:
If there truly is nothing in the data that can distinguish between customers then I'd really have to say that your design is slightly flawed.


The question remains if the data's identical why does the processing vary by customer?
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
smdavies99
PostPosted: Fri Dec 23, 2011 11:02 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

Vitor wrote:

The question remains if the data's identical why does the processing vary by customer?


Per customer billing perhaps?
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
rekarm01
PostPosted: Fri Dec 23, 2011 1:12 pm    Post subject: Re: creating a test harness for message broker Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 1415

Vitor wrote:
You either need 200 versions of the flow with 200 names (which is a maintenance nightmare), 1 flow with 200 input nodes or 1 flow in 200 execution groups. I don't see a good option here.

The underlying OS typically limits the maximum number of threads per process; the exact value is platform-dependent, but typically 256 threads or less.

Each input node in each message flow consumes at least two threads, so any option that involves 200 input queues would probably have to be spread out among multiple execution groups.
Back to top
View user's profile Send private message
mgk
PostPosted: Fri Dec 23, 2011 2:41 pm    Post subject: Reply with quote

Padawan

Joined: 31 Jul 2003
Posts: 1642

Quote:
The underlying OS typically limits the maximum number of threads per process; the exact value is platform-dependent, but typically 256 threads or less


Hmmm, I'm not aware of one that has limits this low these days.

Quote:
Each input node in each message flow consumes at least two threads


Not true. Each Input node starts exactly one thread (assuming additional instances are 0).

Of course, whilst this scenario with 200 Input nodes may work, as already pointed out, it is still not the best design...

Kind Regards,
_________________
MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions.
Back to top
View user's profile Send private message
rekarm01
PostPosted: Fri Dec 23, 2011 7:00 pm    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 1415

It's been a while since I researched this, and it was against an older version of the broker ... That will teach me to rely on my fuzzy memory before quoting numbers.

mgk wrote:
Quote:
The underlying OS typically limits the maximum number of threads per process; the exact value is platform-dependent, but typically 256 threads or less

Hmmm, I'm not aware of one that has limits this low these days.

Ok. It's 512 kernel threads per process on my ancient 32-bit system, but the point was that there is a limit, and it may be lower than expected.

mgk wrote:
Quote:
Each input node in each message flow consumes at least two threads

Not true. Each Input node starts exactly one thread (assuming additional instances are 0).

Oops. What I meant was: 1 thread per message flow + 1 thread per input node + 1 thread per additional instance, so each message flow that had an input node would consume at least 2 threads. (Whether that's still true or not is another matter.)

mgk wrote:
Of course, whilst this scenario with 200 Input nodes may work, as already pointed out, it is still not the best design...

Maybe that's the only point that really matters. It's not the best design ...
Back to top
View user's profile Send private message
mqjeff
PostPosted: Sat Dec 24, 2011 6:05 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

rekarm01 wrote:
It's been a while since I researched this, and it was against an older version of the broker ... That will teach me to rely on my fuzzy memory before quoting numbers.

Oops. What I meant was: 1 thread per message flow + 1 thread per input node + 1 thread per additional instance, so each message flow that had an input node would consume at least 2 threads. (Whether that's still true or not is another matter.)


I've always counted only the input nodes in a message flow + the additional instances... never added an extra thread just for the flow by itself.

So if I have the traditional MQInput->MQOutput, then it's exactly 1 thread if there are exactly 0 additional instances, and otherwise 1+additional instances.

If I have two MQInput nodes->MQOutput, then it's at most 2*(1+additional instances). Although under no load, it will still only be 2 threads.
Back to top
View user's profile Send private message
WBIMaestro
PostPosted: Tue Dec 27, 2011 1:04 pm    Post subject: Reply with quote

Acolyte

Joined: 18 Feb 2005
Posts: 53

the problem could be solved very easily if the putting application can be modified to set the MQRFH2 header with a uniques customer id. I have suggesteed this but looks like its not something that can be immediately implemented. in the meantime 200 exec grps, one per customer with a copy of the message flow for that customer (and relevant i/p,o/p, audit,error ) queues seems to be the option to go with. anyone see any issues there?
Back to top
View user's profile Send private message
lancelotlinc
PostPosted: Tue Dec 27, 2011 1:05 pm    Post subject: Reply with quote

Jedi Knight

Joined: 22 Mar 2010
Posts: 4941
Location: Bloomington, IL USA

Go back to the drawing board.
_________________
http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER
Back to top
View user's profile Send private message Send e-mail
fjb_saper
PostPosted: Tue Dec 27, 2011 1:16 pm    Post subject: Reply with quote

Grand High Poobah

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

lancelotlinc wrote:
Go back to the drawing board.


Looks like the service is largely independent from the customer in its processing. 1 input queue and 200 output queues should do it...

This could also let you reassign cost by message processed...
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Vitor
PostPosted: Tue Dec 27, 2011 1:22 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

WBIMaestro wrote:
anyone see any issues there?


Huge administrative & maintenance overheads? A reliance on all the properties your deploy script uses (and if you're thinking of deploying 200 flows by hand you're crazy) being correct so that the flow for customer 1 is not only deployed to execution group 1 but reading from the input queue that belongs to customer 1 and writing the response to the output that belongs to customer 1. Plus 200 audit and error mechanisms, unless you plan to combine all of that, which would pose it's own issues.

I shudder to think how you're going to keep that up to date.

You've still not explained why each customer needs it's own flow.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » creating a test harness for message broker
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.