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 Discussion » what is BATCHINT

Post new topic  Reply to topic
 what is BATCHINT « View previous topic :: View next topic » 
Author Message
pmane
PostPosted: Thu Aug 29, 2002 3:13 am    Post subject: what is BATCHINT Reply with quote

Acolyte

Joined: 17 Oct 2001
Posts: 50

Where can I get more info about this parameter ? If all my messages are non persistant then will this parameter affect any way ?
Back to top
View user's profile Send private message
kolban
PostPosted: Thu Aug 29, 2002 4:56 am    Post subject: Reply with quote

Grand Master

Joined: 22 May 2001
Posts: 1072
Location: Fort Worth, TX, USA

Hopefully this will turn into an interesting discussion ...

The documentation on BATCHINT can be found in the Intercommunications Guide.

Here is the story summary ... when messages move from one queue manager to another, they are moved as part of a transaction. This means that they are not actually removed from the sender until the sender is sure that they have been received by the receiver. In order for the sender to know that they have been received correctly, the sender asks the receiver for a checkpoint, i.e. what have you received? When the checkpoint response has been received, the sender can then delete or resend messages as necessary.

Obviously, the sender asking for a checkpoint is an expensive operation. If it were done for every messages, this would be 100% overhead. So it is not done every message, it is done every BATCHSZ number of messages. So ... after sending BATCHSZ messages, the sender then asks for a checkpoint and can process the messages accordingly.

If the transmission queue on the sender drops to zero (i.e. nothing left to be sent) then the checkpoint request can be sent immediately because there is nothing for it to content with on the network. No overhead or displacement of real message transmission.

The BATCHINT parameter (at last) is an interval in milliseconds which the sender will wait AFTER the transmission queue goes to zero BEFORE sending the checkpoint request. If a message arrives in the transmission queue during this interval, the interval is ignored and the message sent as part of the batch of messages in the current transaction. The interval timer will reset if the queue goes to zero again.
Back to top
View user's profile Send private message
mgrabinski
PostPosted: Thu Aug 29, 2002 10:12 pm    Post subject: Reply with quote

Master

Joined: 16 Oct 2001
Posts: 246
Location: Katowice, Poland

Just to add my 2 cents to Kolban's thorough explanation.

1) If your messages are non persistent and you are using a fast channel, the messages will be sent immediately, without waiting for completion of the current batch (that means they are sent out of syncpoint - no commit/rollback processing is involved).

2) Be carefull not to set BATCHINT to high if you have a request-response type of trasmission. High BATCHINT will degrade your response times.
_________________
Marcin Grabinski <><
Back to top
View user's profile Send private message
pmane
PostPosted: Wed Sep 04, 2002 5:25 pm    Post subject: Reply with quote

Acolyte

Joined: 17 Oct 2001
Posts: 50

Thanks for the response. My system will only have non persistant messages . So I think this BATCHINT will not be important. What I need to know is dose message size in non persistant messages matters or not ?
I have very small messages around 1024 KB + 4000 Bytes for the MQ which makes it around 5K . I have a option to club these , but some trade off at my application side to split it again. So will my performance improve if I club it ? I will need to split it any way in my application .
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Mon Sep 09, 2002 5:24 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

BATCHINT is only not important for non-persistent messages if the channel speed is set to fast, because in that case the non-persistent messages will flow immediatly, regardless of the BATCHINT. If the channel speed is normal, than BATCHINT will be considered by the MCA before sending a message, persistent or not.

Quote:

I have very small messages around 1024 KB + 4000 Bytes for the MQ which makes it around 5K


1024 KB + 4000 bytes = 1028 KB (1.028 megs), or did you mean 1024 bytes + 4000 bytes, which equals around 5K? Why do you say 4000 bytes for MQ? The MQMD is only about 328 (not sure of exact size) bytes, not 4000.

Anyway, MQ is optimized for messages around 4K, so I think you are okay sending the messages you are creating as is, since if you have 1024 bytes of application data, your actual message being sent is only around 1350 bytes.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
ind76
PostPosted: Mon Sep 23, 2002 11:18 am    Post subject: BATCHSZ ! Reply with quote

Apprentice

Joined: 10 Apr 2002
Posts: 29

Does the Batch Size on the sender and receiver have to be the same number ? What is the significance of the Batch Size on the receiver channel ?

The reason for my asking is we have a Sender channel from Windows NT that connects to OS/390 whose sequence number goes out of sync whenver we restart the Windows NT machine.

I checked all the attributes, nothing looks wrong except the Batch Size on the Windows NT is different from the receiver counterpart on the OS/390. Could this cause the channel sequence number go out of sync ?

Thanks for your help,
ind76
Back to top
View user's profile Send private message
mgrabinski
PostPosted: Mon Sep 23, 2002 9:12 pm    Post subject: Reply with quote

Master

Joined: 16 Oct 2001
Posts: 246
Location: Katowice, Poland

When the values of BATCHSZ of channel ends don't match, the lower value is taken - so it doesn't cause any problems.

To soleve problems with messages sequence synchronization, run the RESET CHANNEL command on both ends.
_________________
Marcin Grabinski <><
Back to top
View user's profile Send private message
ind76
PostPosted: Tue Sep 24, 2002 5:51 am    Post subject: Thank you Marcin ! Reply with quote

Apprentice

Joined: 10 Apr 2002
Posts: 29

Thanks Marcin. That is what we do to get the channel back to running. But what causes the channel go out of sync ? I'm just curioius, we use LU62. And it happens whenever we restart the Windows NT box. Are we missing something here ?

Thanks again for your help,
ind76
Back to top
View user's profile Send private message
pmane
PostPosted: Tue Sep 24, 2002 4:31 pm    Post subject: Lenght of MQ Message Reply with quote

Acolyte

Joined: 17 Oct 2001
Posts: 50

Hi again ! I just found out that the

MAXMSGL(integer) attribute in the Local Q is

"For a transmission queue, this value includes the space required for headers. It is recommended that the value should be at least 4000 bytes larger than the maximum expected length of user data in any message that could be put on a transmission queue. "

Can some one tell me what is this 4000 bytes !

Prashant Mane.
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Tue Sep 24, 2002 6:01 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

Because of all the various headers that may be added. At the very least you will have the MQMD and the transmission header. In addition, you could have an IIH header, a RFH2 header, etc. I guess IBM figured out that the worst case scenario if you somehow had all these headers was that an extra 4000 bytes would get added. Realistically, its much less. (usually just the MQMD and the XMIT header)
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
mgrabinski
PostPosted: Wed Sep 25, 2002 3:20 am    Post subject: Reply with quote

Master

Joined: 16 Oct 2001
Posts: 246
Location: Katowice, Poland

One possibly reason of resynchronization of a channel is deleting and recreating one of its end. Another - a net failure may cause it.
_________________
Marcin Grabinski <><
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 » General Discussion » what is BATCHINT
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.