In the PMR we opened, we were told that upon further investigation, IBM found that this algorithm was not functioning correctly.
 
Quote**********************************************************

1)       If the buffer size is increased for a message flow, when does it get dropped back to its default start value? .

A)     When the MQInput node resizes its buffer it should then re-evaluate the buffer size after 10 more messages or more have passed through the flow. During these ten messages, it will keep a record of the largest message size to pass through the flow. If the largest message size since resizing is less than 75% of the current buffer size then it will reduce it to that smaller value. . However, whilst examining this functionality we have noticed that the conditions will never be met which would lead to re-evaluating the buffer size for reduction. This means we will never reduce the size of the MQGET buffer for the MQInput node once it has been increased. Can an APAR be raised to address the problem of 'MQInput node msg buffer never reduced after increase'. .

 

***********************************************************************
 
We responded that although we agree the algorithim is not working as designed, something at some point IS dropping the buffer, otherwise we would have never noticed a problem in the first place.
 

Peter Potkay
IBM MQSeries Certified Specialist, Developer
[EMAIL PROTECTED]
X 77906

-----Original Message-----
From: Kevin Tobin [mailto:[EMAIL PROTECTED]]
Sent: Monday, January 13, 2003 11:11 PM
To: [EMAIL PROTECTED]
Subject: Re: MQSI Buffer Size is initially set to 3732 for all MQGETS?


FYI

The precise formula is

If the buffer has become "too big"  (less than 3/4 )   for the largest message from the last 10 messages
received by an individual thread - the buffer is shrunk to the size of the largest message received since
 WMQI last resized the buffer + the sizeof the MQMD.

Cheers!

Kevin



Kevin Tobin
Senior IT Specialist
IBM WebSphere Services Asia Pacific
Level 9, 601 Pacific Hwy, St Leonards,
Sydney NSW 2000
Phone:  +61 2 947-88249
Fax:       +61 2 947-88467
Mobile    0421-052-812   -  International :  +61 421-052-812
e-Mail:    [EMAIL PROTECTED]




Tim Armstrong/Australia/IBM@IBMAU
Sent by: MQSeries List <[EMAIL PROTECTED]>

14/01/03 12:49 PM
Please respond to MQSeries List

       
        To:        [EMAIL PROTECTED]
        cc:        
        Subject:        Re: MQSI Buffer Size is initially set to 3732 for all MQGETS?

       


If you desperately need it write your own simple input node, cant remember
from which version of WMQI this becomes available.

Regards
Tim A



                     "Potkay, Peter M
                     (PLC, IT)"                 To:       [EMAIL PROTECTED]
                     <Peter.Potkay@THEHA        cc:
                     RTFORD.COM>                Subject:  Re: MQSI Buffer Size is initially set to 3732 for all MQGETS?
                     Sent by: MQSeries
                     List
                     <MQSERIES@AKH-WIEN.
                     AC.AT>


                     14/01/2003 11:04
                     Please respond to
                     MQSeries List





The problem with priming the flow with the 22K message is that at some
point
(not as quickly as the documented algorithm would suggest, but sometime
within usually about 8 hrs), MQSI drops the buffer size back down based on
the average size of the previous messages. So we would constantly have to
keep pumping these fat messages through to be sure the buffer stays big.

We are also going to be multi threaded and clustered as well.

We were able to shave enough time in other parts of the roundtrip so that
this is not that critical anymore. However it will be nice if we get this
ability in the future.



Peter Potkay
IBM MQSeries Certified Specialist, Developer
[EMAIL PROTECTED]
X 77906


-----Original Message-----
From: Tim Armstrong [mailto:[EMAIL PROTECTED]]
Sent: Monday, January 13, 2003 5:51 PM
To: [EMAIL PROTECTED]
Subject: Re: MQSI Buffer Size is initially set to 3732 for all MQGETS?


Temporary workaround. Push a 22k message with special attributes that will
we just discarded by the message flow as soon as possible after a restart.
This should work for single threaded flows but if you are allowing
multithreaded messages flows then you may still encounter the problem.

Regards
Tim A



                     "Potkay, Peter M
                     (PLC, IT)"                 To:
[EMAIL PROTECTED]
                     <Peter.Potkay@THEHA        cc:
                     RTFORD.COM>                Subject:  Re: MQSI Buffer
Size is initially set to 3732 for all MQGETS?
                     Sent by: MQSeries
                     List
                     <MQSERIES@AKH-WIEN.
                     AC.AT>


                     14/01/2003 08:10
                     Please respond to
                     MQSeries List





fyi,


We have put in a formal request/suggestion for this feature to be included
in the next version of WMQI.

As soon as I hear yay or nay, I will let everyone know. Until then, we have
to deal with this problem as is.



Peter Potkay
IBM MQSeries Certified Specialist, Developer
[EMAIL PROTECTED]
X 77906


-----Original Message-----
From: Christopher Frank [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, November 12, 2002 3:32 PM
To: [EMAIL PROTECTED]
Subject: Re: MQSI Buffer Size is initially set to 3732 for all MQGETS?


Peter,

>>>Is there anyway to override this behavior?

To my knowledge, no.  I would agree that it sounds like it might make a
good MQInput node property, though.

Regards,

Christopher Frank
Sr. I/T Specialist - IBM Software Group
IBM Certified Solutions Expert - Websphere MQ & MQ Integrator
--------------------------------------------
Phone: 612-397-5532 (t/l 653-5532) mobile: 612-669-3008
e-mail: [EMAIL PROTECTED]


"Potkay, Peter M (PLC, IT)" <[EMAIL PROTECTED]>@AKH-WIEN.AC.AT>
on 11/12/2002 08:25:28 AM

Please respond to MQSeries List <[EMAIL PROTECTED]>

Sent by:    MQSeries List <[EMAIL PROTECTED]>


To:    [EMAIL PROTECTED]
cc:
Subject:    Re: MQSI Buffer Size is initially set to 3732 for all MQGETS?



Is there anyway to override this behavior? It is kinda of neat that MQSI is
dynamically managing its buffer to make the most of it's resources, but
almost every time a message comes into our flow that is larger than the
current buffer, it causes our front end app to time out(it only has a
2000ms
Get with Wait). Sometimes it takes MQSI almost 1.5 seconds to fail on the
first Get, reallocate a larger buffer, and issue the second Get. Other
times
it takes only .33 seconds.

Since we are looking anywhere and everywhere to shave milliseconds off of
the front end's wait time, it would be beneficial if we could just set the
buffer for this flow to 20K for all Gets, since our largest message that we
know of is just shy of that value.

Is this possible?


Peter Potkay
IBM MQSeries Certified Specialist, Developer
[EMAIL PROTECTED]
X 77906


-----Original Message-----
From: Christopher Frank [mailto:[EMAIL PROTECTED]]
Sent: Monday, November 11, 2002 12:30 PM
To: [EMAIL PROTECTED]
Subject: Re: MQSI Buffer Size is initially set to 3732 for all MQGETS?


Peter,

>>>But where did it get that 3732 size in the first place? And
>>>when does the buffer get dropped back to this #? When the
>>>broker is stopped maybe? We have noticed that this 3732 # is
>>>used for all flows in all execution groups, and simply
>>>stopping/starting the flow does not reset it.

My understanding of the algorithm used for buffer management in the MQInput
node is roughly as follows:

It starts out with an initial buffer allocation of 1K + the size of the
MQMD. Note that this does not quite seem to agree with your observation,
but it could be that this initial size was increased since the original
release of the product.

Should a message be received that exceeds this amount, a new buffer is
allocated that is large enough to hold the incoming message, and the MQGet
reissued.

Buffer resizing does take place. A test is made when at least 10 messages
have been received since the last resize, to determine if the largest
message since the last resize is less than 75% of the current buffer
allocation. If so, the current buffer size is reduced to the largest
received over the last 10 messages, and the cycle starts over.

Regards,

Christopher Frank
Sr. I/T Specialist - IBM Software Group
IBM Certified Solutions Expert - Websphere MQ & MQ Integrator
--------------------------------------------
Phone: 612-397-5532 (t/l 653-5532) mobile: 612-669-3008
e-mail: [EMAIL PROTECTED]

Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://vm.akh-wien.ac.at/MQSeries.archive


This communication, including attachments, is for the exclusive use of
addressee and may contain proprietary, confidential or privileged
information. If you are not the intended recipient, any use, copying,
disclosure, dissemination or distribution is strictly prohibited. If
you are not the intended recipient, please notify the sender
immediately by return email and delete this communication and destroy all
copies.

Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://vm.akh-wien.ac.at/MQSeries.archive

Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://vm.akh-wien.ac.at/MQSeries.archive

Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://vm.akh-wien.ac.at/MQSeries.archive

Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://vm.akh-wien.ac.at/MQSeries.archive


Reply via email to