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 IndexIBM MQ Performance MonitoringHow to load test delivery time?

Post new topicReply to topic
How to load test delivery time? View previous topic :: View next topic
Author Message
walterA
PostPosted: Sat Dec 05, 2015 8:10 am Post subject: How to load test delivery time? Reply with quote

Novice

Joined: 22 Sep 2015
Posts: 20

Hi there!

I need to plan a performance test for 2 systems connected one way via MQ Channel and 2 Q Managers like this:

External system A | Q Manager 1 -----> MQ Channel -----> Q Manager 2 | System B

I need to make sure that message delivery time is very small. It means that once system A produces a message it will be available in system B really fast.

How can I do this?

If I use JMeter or similar tool it will show me only response time for system A. But it doesn't measure time from the moment when message is put by external system A till the moment appears in System B

Thank you!
Back to top
View user's profile Send private message
bruce2359
PostPosted: Sat Dec 05, 2015 9:38 am Post subject: Re: How to load test delivery time? Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 8102
Location: US: west coast, almost. Otherwise, enroute.

walterA wrote:
I need to make sure that message delivery time is very small. It means that once system A produces a message it will be available in system B really fast.

Really fast? You will need to quantify "really fast." No measurement tool that I'm aware of reports with abstract terms like really slow, slow, fast, really fast, amazingly fast.

You can use the supplied dspmqrte utility to gather route and time data for a test message.
_________________
I would tell you a UDP joke, but you might not get it.
Back to top
View user's profile Send private message
walterA
PostPosted: Sat Dec 05, 2015 1:36 pm Post subject: Re: How to load test delivery time? Reply with quote

Novice

Joined: 22 Sep 2015
Posts: 20

bruce2359 wrote:
walterA wrote:
I need to make sure that message delivery time is very small. It means that once system A produces a message it will be available in system B really fast.

Really fast? You will need to quantify "really fast." No measurement tool that I'm aware of reports with abstract terms like really slow, slow, fast, really fast, amazingly fast.

You can use the supplied dspmqrte utility to gather route and time data for a test message.


Thank you for you answer! I will google dspmqrte

Does it show time that it takes to deliver message from System A to system B through the channel? Will I be able to do this with the load or only with 1 test message?

I want to make sure that once we put a real load, the delivery time will not get worse because of the network, MQ setup or CPU/memory or something else.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Sat Dec 05, 2015 1:52 pm Post subject: Reply with quote

Grand Poobah

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

You can look at the IBM support pack for performance.
However you're probably not running the same hardware/software/ load consideration so YMMV Your Milage May Vary.

The best way to get a good feel for this is to test it out in an environment as close as possible to production.
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
bruce2359
PostPosted: Sat Dec 05, 2015 6:55 pm Post subject: Re: How to load test delivery time? Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 8102
Location: US: west coast, almost. Otherwise, enroute.

walterA wrote:

Does it show time that it takes to deliver message from System A to system B through the channel?

Yes.

walterA wrote:
Will I be able to do this with the load or only with 1 test message?

There are workload simulators you might want to investigate.

Lacking other performance monitoring tools, I've seen the dspmqrte run once per second under various application load conditions. Not much overhead for this. If you have no other tools, this might help.

walterA wrote:
I want to make sure that once we put a real load, the delivery time will not get worse because of the network, MQ setup or CPU/memory or something else.

See above.

Effective performance analysis and tuning require you to understand your workload and available physical resources to process the workload. The Quick Beginnings manual for your platform will offer initial (minimum) MQ configuration settings.

There are MQ performance tuning documents - search here or google.
_________________
I would tell you a UDP joke, but you might not get it.
Back to top
View user's profile Send private message
walterA
PostPosted: Sun Dec 06, 2015 8:11 am Post subject: Re: How to load test delivery time? Reply with quote

Novice

Joined: 22 Sep 2015
Posts: 20

Thank you very much for you explanation!

I have got an idea! What if I add timestamp into the message header when a message is put into the remote Q of system A and then when I consume the message in the system B, compare it with the delivery time.

Is this a good idea?
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Sun Dec 06, 2015 11:06 am Post subject: Re: How to load test delivery time? Reply with quote

Grand Poobah

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

walterA wrote:
Thank you very much for you explanation!

I have got an idea! What if I add timestamp into the message header when a message is put into the remote Q of system A and then when I consume the message in the system B, compare it with the delivery time.

Is this a good idea?

It might be a fantastic idea or a very bad one... All depends on how synchronized the time between the 2 hosts is
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
walterA
PostPosted: Sun Dec 06, 2015 11:28 am Post subject: Re: How to load test delivery time? Reply with quote

Novice

Joined: 22 Sep 2015
Posts: 20

fjb_saper wrote:
walterA wrote:
Thank you very much for you explanation!

I have got an idea! What if I add timestamp into the message header when a message is put into the remote Q of system A and then when I consume the message in the system B, compare it with the delivery time.

Is this a good idea?

It might be a fantastic idea or a very bad one... All depends on how synchronized the time between the 2 hosts is


Hmm... but it's doable if the time is in sync?
Back to top
View user's profile Send private message
bruce2359
PostPosted: Sun Dec 06, 2015 12:50 pm Post subject: Re: How to load test delivery time? Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 8102
Location: US: west coast, almost. Otherwise, enroute.

walterA wrote:
What if I add timestamp into the message header when a message is put into the remote Q ...?

GMT date and time of creation are automatically inserted into the MQMD when the message is MQPUT.

A message that is destined to be transmitted down the network to a remote qmgr is first put to a transmission queue on the producer qmgr. It is the IBM-supplied Message Channel Agent that MQPUTs the message on the destination queue at the remote qmgr - not the producing application.
_________________
I would tell you a UDP joke, but you might not get it.
Back to top
View user's profile Send private message
gbaddeley
PostPosted: Sun Dec 06, 2015 9:41 pm Post subject: Re: How to load test delivery time? Reply with quote

Padawan

Joined: 25 Mar 2003
Posts: 1857
Location: Melbourne, Australia

bruce2359 wrote:
walterA wrote:
What if I add timestamp into the message header when a message is put into the remote Q ...?

GMT date and time of creation are automatically inserted into the MQMD when the message is MQPUT.

A message that is destined to be transmitted down the network to a remote qmgr is first put to a transmission queue on the producer qmgr. It is the IBM-supplied Message Channel Agent that MQPUTs the message on the destination queue at the remote qmgr - not the producing application.

The MQMD PutTime only has 1/100 second resolution. MQ can process dozens of messages in that time, so its not very useful for high performance measurements. Been there, done that.

In an end-to-end design the largest latency is usually in the backend applications and DBs. You might benchmark MQ and network latency at 1000 msgs/sec, but the backend might only be capable of processing 100 msgs/sec.

Run a POC test to push an increasing load of typical messages through your MQ infrastructure and measure the overall processing time. eg. 10K msgs, 100K, 1M. Hook up stub consumers and measure their throughput.
_________________
Glenn
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Sun Dec 06, 2015 10:18 pm Post subject: Reply with quote

Grand Poobah

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

And don't forget to add varying time at varying levels to try and determine peaks due to stop the world garbage collection (java, .net)
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:
Post new topicReply to topic Page 1 of 1

MQSeries.net Forum IndexIBM MQ Performance MonitoringHow to load test delivery time?
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.