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 » General IBM MQ Support » Message Processing on MQ

Post new topic  Reply to topic
 Message Processing on MQ « View previous topic :: View next topic » 
Author Message
JPN
PostPosted: Thu Jun 29, 2017 12:02 am    Post subject: Message Processing on MQ Reply with quote

Novice

Joined: 27 Feb 2015
Posts: 14

Is there a co-relation between the number of IPPROCS and the message consumption rate?

JBOSS application is connecting to the MQ v8.0.0.4 to pick up messages and if they are running multiple nodes then it slows down the performance of the get rate. However, if I run with single node then it seems to process faster with atleast 4500/min.

If there are 2 nodes then IPPROCS seems to go to 24 whereas with one node it is at 12.

Also, what is the peak message processing rate of MQ?

MQ server: 8.0.0.4
OS: Linux
Client: Resource Adapter 7.5
Back to top
View user's profile Send private message
PaulClarke
PostPosted: Thu Jun 29, 2017 1:19 am    Post subject: Reply with quote

Grand Master

Joined: 17 Nov 2005
Posts: 1002
Location: New Zealand

There are no magic numbers when dealing with performance. You have to use due diligence to work out where the bottle-neck is.

It certainly is not true to say that IPPROCS is a key indicator of performance. In general you can process more messages per time interval if you have more consumers of the message however clearly that will depend enormously on what the application is doing. You seem to suggest that as the IPPROCS value increases the performance actually gets worse. That would seem to suggest that you have some locking in your application that is serialising the requests and introducing context switches or something like that.

Your performance rate of 4500/min (about 75/second) is extremely slow for MQ. In other words at those speeds it is unlikely that MQ is the bottleneck unless the messages are really big or you are communicating over a really slow link. MQ message performance is usually in terms of thousands of messages per second. However, as I say, there are no hard and fast rules it depends hugely on the persistence of the messages, the size of the messages and how you are connected to the Queue Manager.

From what you've told me though I would be wanting to know what the JBOSS application was doing and how it was written.

Cheers,

Paul.
_________________
Paul Clarke
MQGem Software
www.mqgem.com
Back to top
View user's profile Send private message Visit poster's website
JPN
PostPosted: Thu Jun 29, 2017 4:45 am    Post subject: Message Processing on MQ Reply with quote

Novice

Joined: 27 Feb 2015
Posts: 14

JBOSS application picks up the message using XA transaction and looks at the header message to identify which application it has to be routed to. Once the routing is identified then it duplicates the message into 4 to 8 queues based on the various events. For instance,

Message Event 1: If the message is to information which needs to be boradcasted to all partners then the incoming messages are copied to 8 different queues.

Message Event 2: This is an update message - this will be sent across to 4 different queues based on the JMS header information
Back to top
View user's profile Send private message
PaulClarke
PostPosted: Thu Jun 29, 2017 7:36 am    Post subject: Reply with quote

Grand Master

Joined: 17 Nov 2005
Posts: 1002
Location: New Zealand

So, the only thing this application does some MQ messaging ? It does 1 MQGET and 4 - 8 MQPUTs ? Well it seems you should be able to get a lot faster than 75 per second.

My question would be.....

1/ Why is it using an XA Transaction ? If the only thing you are doing is MQ Operations then a local MQ transaction would be fine.

2/ Does the application move one message per transaction ? If so then this would be the worse performing thing you can do. Transaction commits are hugely expensive since they represent a log force. Essentially you are gated by your spinning media unless the messages are non-persistent (or you are solid state of course). If I were designing the application I would move, say, 20 messages in a single transaction. Of course this depends on factors such as message size etc.

It doesn't explain why your performance drops as you add more 'movers'. I would expect better performance since MQ could dove-tail more transaction in each time slice so I suspect more is going on here. Are you connected via a client connection or local ?

Cheers,

Paul.
_________________
Paul Clarke
MQGem Software
www.mqgem.com
Back to top
View user's profile Send private message Visit poster's website
bruce2359
PostPosted: Thu Jun 29, 2017 4:06 pm    Post subject: Re: Message Processing on MQ Reply with quote

Poobah

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

JPN wrote:
Is there a co-relation between the number of IPPROCS and the message consumption rate?

No. IPPROCS is only the number of processes (applications) that have the queue open for input. None, some or all, might be consuming messages - or might not.

You could enable queue statistics, and look at time-on-queue, time between put and get.

Is there a database or some such XA-compliant resource manager involved?
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
JPN
PostPosted: Thu Jun 29, 2017 10:19 pm    Post subject: Reply with quote

Novice

Joined: 27 Feb 2015
Posts: 14

IntervalStartDate: IntervalStartTime: QMinDepth: QMaxDepth: PutCount: GetCount:
30/06/2017 06.56.21 0 1313 25736 25539
30/06/2017 07.06.22 0 1273 33436 33063
30/06/2017 07.16.23 0 2453 41482 40129
30/06/2017 07.26.23 1938 13072 51898 40837
30/06/2017 07.36.24 12969 25467 54960 42526
30/06/2017 07.46.25 25466 41780 59819 43506

Please see the stats from amqsmon which is with a 10 min interval
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Fri Jun 30, 2017 5:11 am    Post subject: Reply with quote

Grand High Poobah

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

If you are using a svrconn type channel, did you set its share conversation attribute to 1? Remember the default is 10 and serialization will happen at the socket level
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
JPN
PostPosted: Fri Jun 30, 2017 8:38 am    Post subject: Reply with quote

Novice

Joined: 27 Feb 2015
Posts: 14

I have got the sharecnv as 0. Is it worth making it 1?
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Fri Jun 30, 2017 10:43 am    Post subject: Reply with quote

Grand High Poobah

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

JPN wrote:
I have got the sharecnv as 0. Is it worth making it 1?
0 is fine. If you're at V8 and above I'd test it with 1. But I don't expect to see a major difference. You first need to determine where your bottle neck is.

I see you are talking about JMS and JBoss. I am more used to WAS but it is worth to make sure that your MDBs are not thread starved, or if you are using a DB that you have a connection pool big enough defined. (Sames goes for MQ).
If your messages aren't of any significant size you should be able to get a much higher throughput. Looking at the performance statistics (see support packs) and comparing would be a good start...
Also make sure you have a backout threshold set on all your input queues. May be the throughput is low because you are dealing with a poison message or two...
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
JPN
PostPosted: Fri Jun 30, 2017 8:33 pm    Post subject: Reply with quote

Novice

Joined: 27 Feb 2015
Posts: 14

How do i check for the starvation of mdb or MW?
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Sat Jul 01, 2017 2:20 am    Post subject: Reply with quote

Grand High Poobah

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

JPN wrote:
How do i check for the starvation of mdb or MW?

It's a savvy mix of calculated values being checked against configured pool values...
Say 10 MDB's with 10 instances max each => 110 connections (210 if there is a reply )
Threadpool/Sessionpool for MDBs need to be up to max for each

Verify your MQ Connection factory pool...
Verify your MDB thread/session pool...

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General IBM MQ Support » Message Processing on MQ
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.