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 » MAXUMSGS value change

Post new topic  Reply to topic Goto page Previous  1, 2
 MAXUMSGS value change « View previous topic :: View next topic » 
Author Message
PaulClarke
PostPosted: Wed Jun 11, 2014 10:46 pm    Post subject: Reply with quote

Grand Master

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

Just to be clear, the size of the application Unit of Work has no bearing on the size of the Unit of Work used by the channels. A channel will use the BatchSize parameter which has a default of 50. Making it larger can improve throughput for really small messages but the effect tends to be very marginal so it's only in rare circumstances you would make it bigger. So, let's assume 50.

So, in your scenario, where you are putting 10,000 message in a single transaction your receiving application will receive these messages in batches of 50. It won't receive them in some 'super' batch. So, if these messages are important it should have some smarts in it to ensure that all messages have arrived, in the right order etc.

So, given that the receiving application has some smarts the sending application can be a little more relaxed. There's no value in sending all messages in a single transaction so, send them in smaller chunks.

One technique that can be used when sending large numbers of message is to send all the messages to a 'holding' queue and then, when you are finished and all is well, you send a 'please process' command message to a command queue. It is the command queue that the receiving application reads first. 99.9% of the time when the receiving application reads the command queue all the 'other' messages will already be in the holding queue. This technique also allows the sending application to abort the transfer by sending a 'please ignore these messages' type command. It is also better for triggering since the application is triggered when the transfer is complete rather than the first of 100,000 messages has arrived.

Anyway, hope this helps.

Cheers,
Paul.
_________________
Paul Clarke
MQGem Software
www.mqgem.com
Back to top
View user's profile Send private message Visit poster's website
zpat
PostPosted: Wed Jun 11, 2014 11:39 pm    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5850
Location: UK

Why not just use a group of messages with the group flags in MQMD?

That way the receiving application won't be presented with the first message until the group is complete (assuming the "all messages available" option is set on the MQGET).
_________________
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
PaulClarke
PostPosted: Thu Jun 12, 2014 12:20 am    Post subject: Reply with quote

Grand Master

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

There are all sort of possible solutions, I was just proposing one of them. Group messages are a solution to this problem however I think the two queues idea is a little clearer from an admin point of view. It is very clear whether you have 'commands' or languishing 'data'. After all, sooner or later you're probably going to have incomplete batches and you need a strategy for that. MQ has no 'clean up incomplete groups' that I am aware of. Clearly in some circumstances you may be able to just use expiry of messages.

As I say, there are a number of solutions and each one no doubt has its upsides and downsides. It all depends on the application. For example, if I remember rightly, Grouped messages, don't play nice with triggering. ie. you are triggered on the first message of the group. Although I have to admit I haven't tried it for a while so I could well be wrong.

Cheers,
Paul.
_________________
Paul Clarke
MQGem Software
www.mqgem.com
Back to top
View user's profile Send private message Visit poster's website
kumarbai
PostPosted: Fri Jun 13, 2014 3:28 am    Post subject: Reply with quote

Apprentice

Joined: 24 May 2013
Posts: 45

It was difficult to change the design at this moment so we planned to temporarily change the q manager parameter and later change the design.

And is there any way after alerting the MAXUMSGS setting ,without restarting MQ manager it can be made reflected?
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page Previous  1, 2 Page 2 of 2

MQSeries.net Forum Index » General IBM MQ Support » MAXUMSGS value change
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.