|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
MAXUMSGS value change |
« View previous topic :: View next topic » |
Author |
Message
|
PaulClarke |
Posted: Wed Jun 11, 2014 10:46 pm Post subject: |
|
|
 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 |
|
 |
zpat |
Posted: Wed Jun 11, 2014 11:39 pm Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 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 |
|
 |
PaulClarke |
Posted: Thu Jun 12, 2014 12:20 am Post subject: |
|
|
 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 |
|
 |
kumarbai |
Posted: Fri Jun 13, 2014 3:28 am Post subject: |
|
|
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 |
|
 |
|
|
|
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
|
|
|
|