Author |
Message
|
mq_developer |
Posted: Thu May 18, 2017 2:33 pm Post subject: IIB Parser reuse constraints |
|
|
Voyager
Joined: 18 Feb 2002 Posts: 82
|
In my input message i have varying size of repeating fields . In below RR structure 1 , has 10 fields , RR structure 2 has 5 fields and so on....
I am currently copying from Environment.Variables.RR[1] to OutputRoot.XMLSNSC.Out.RR[1] and issuing a PROPAGATE and delete of environment tree.
When i am looking at parser statistics (
Code: |
mqsireportproperites ComIbmParserManager |
) , i see too many varying size XMLNSC parsers created , is it due to the fact my repeating structure is not identical in structure/number of fields
Please confirm , will the parser not reuse the memory , if the fields arent identical ?
Code: |
<Root>
<RR>
<RR>
<RR>
</Root> |
|
|
Back to top |
|
 |
smdavies99 |
Posted: Fri May 19, 2017 2:09 am Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
Please consider this.
If the Parser memory was not reused and awful lot of Broker systems would have run out of memory a long time ago. Some brokers run for months and months and process millions of messages in that time.
Now, does the Parser Memory get reused or not?
What do you think?
In 15+ years of using Broker both as a developer and architect and an admin, I've never had to look at this aspect. If I were using very large messages in their millions I might be concerned about parser size. By very large I mean greater than 40Mb. _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri May 19, 2017 11:03 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Well... you do have to be careful. Parser memory is only freed when the flow instance has completed its processing and is being dismissed.
So depending on what you're doing in your flow, you may be allocation too many parsers....
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
smdavies99 |
Posted: Fri May 19, 2017 11:27 am Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
fjb_saper wrote: |
Well... you do have to be careful. Parser memory is only freed when the flow instance has completed its processing and is being dismissed.
So depending on what you're doing in your flow, you may be allocation too many parsers....
Have fun  |
I agree. An example of keeping an eye on what you are doing.
On one project with V6.0 (yes that long ago) I propagated 500 messages from one original message. 600 caused the Execution Group to Abend but this was with a 32bit Broker. _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
mqjeff |
Posted: Fri May 19, 2017 11:42 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
There are also some tactics of deleting pieces of the input tree to free memory....
I think there was something in the large message handling stuff? Or some posts here from... umm... someone from Hursley. Quite a while ago. _________________ chmod -R ugo-wx / |
|
Back to top |
|
 |
|