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 » WebSphere Message Broker (ACE) Support » Large msg, Broker dies, out of memory.

Post new topic  Reply to topic
 Large msg, Broker dies, out of memory. « View previous topic :: View next topic » 
Author Message
MiLi
PostPosted: Wed Feb 14, 2007 7:19 am    Post subject: Large msg, Broker dies, out of memory. Reply with quote

Acolyte

Joined: 07 Oct 2005
Posts: 51

Hi

I'm in a project now having some issues with large messages. (Only MQ as protocol)

I got XML messages that can be 50MB and needed to be parsed by the broker.

First of all, I know its a BIG msg and MQ Series and Broker is a messaging system !
Second: No the sender cant split it into smaller transactions.

I know there is alot of this subject here on MQSeries.net but i need your input on this.

With that said I think that a 50MB message should not be a problem, in fact I want the Broker (v6 csd3) to split the message before I send it further because its "too" big for the other systems.

My problem is that when the message enter the flow (parsed with a messageSet) the DataFlowEnginge process goes up to 1,8GB memory usage and 1,8GB vm memory and Dies (works fine with a slighly smaller message and 1,7GB mem usage) !

I got a test flow that parses the 50MB message and just copy the input elemets to OutputRoot but it still uses 1GB memory. (Windows, Xeon quad, 4GB mem)

Is this normal for the Broker ?

Can I use the XMLNSC parser for the split to reduce the memory cost ?

Should I use the BLOB "parser" and then parse a little bit of the message and try to puzzle together several out messages?

Just need to start a discussion for an URGENT problem !
_________________
IBM Certified System Administrator - WebSphere MQ V6.0
IBM Instructor - WebSphere MQ, WebSphere Message Broker


Last edited by MiLi on Thu Feb 15, 2007 4:15 am; edited 1 time in total
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Wed Feb 14, 2007 7:35 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

There is discussion in the reference documentation for the XMLTransformation node about how to increase the memory allocations for the Broker - at least for Java.

There is a "Large message" sample in the Samples Gallery.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
kimbert
PostPosted: Wed Feb 14, 2007 3:52 pm    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Usually a message as large as 50Mb contains a structure which repeats many times. In which case...
http://www-128.ibm.com/developerworks/websphere/library/techarticles/0505_storey/0505_storey.html
Back to top
View user's profile Send private message
SandiSan
PostPosted: Wed Feb 14, 2007 10:14 pm    Post subject: Reply with quote

Acolyte

Joined: 01 Apr 2006
Posts: 57
Location: Pune/India

It also depends on what hardware configuration you are running the Broker. I can think of follwing options that can be used to handle large messages.

1. Split the message in MB using ESQL / JCN . If you are using JCN increase the JVM Heap Size using mqsichangeproperty.

2. IF you can drop the message from MQ queue as blob to a particular folder.The you can use file extender node to pick it up and do processing, as File extender node is capable of handling large msg.

3. You can also look at DSTX Plug-in Node that uses that execute Datastage tranformation extender maps . This is also capable for handling large and complex messages.

Regards
Sandisan
Back to top
View user's profile Send private message Yahoo Messenger
MiLi
PostPosted: Thu Feb 15, 2007 12:48 am    Post subject: Reply with quote

Acolyte

Joined: 07 Oct 2005
Posts: 51

Thanks for the input.

Quote:
Usually a message as large as 50Mb contains a structure which repeats many times. In which case...
http://www-128.ibm.com/developerworks/websphere/library/techarticles/0505_storey/0505_storey.html


Kimbert, the link describes what I'm trying to do and I have tested it... still with "to much memory peaks" when using MRM.

The message coming in is like

<ROOT>
<info/>

<header>
<numberOfTran/>
<totalAmountofTrans/>
</header>

<trans/>
<trans/>
...
...
</ROOT>


as you can see, if I'm going to split it I need to parse the entire message to be able to produce messages with correct header info.

I did this with the XMLNSC parser and the memory peak is ONLY 500MB,
So I got a solution for splitting bif messages.

I just want to know if other people have processed messages over 50MB in the Message broker. What is the limit ? Can the Broker read a segmented mq message over 100MB ?


Tanks MQSeries.net you are the best ![/quote]
_________________
IBM Certified System Administrator - WebSphere MQ V6.0
IBM Instructor - WebSphere MQ, WebSphere Message Broker
Back to top
View user's profile Send private message
kimbert
PostPosted: Thu Feb 15, 2007 3:32 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Quote:
I need to parse the entire message to be able to produce messages with correct header info.
Who designs these schemas?
Anyway, I'm glad XMLNSC did the job for you.
Back to top
View user's profile Send private message
MiLi
PostPosted: Thu Feb 15, 2007 3:57 am    Post subject: Reply with quote

Acolyte

Joined: 07 Oct 2005
Posts: 51

Quote:
Who designs these schemas?


Hehe

Its not some random system its Euro Banking Association !
http://www.abe.org/
_________________
IBM Certified System Administrator - WebSphere MQ V6.0
IBM Instructor - WebSphere MQ, WebSphere Message Broker
Back to top
View user's profile Send private message
MiLi
PostPosted: Thu Feb 15, 2007 4:13 am    Post subject: Reply with quote

Acolyte

Joined: 07 Oct 2005
Posts: 51

For the record:

I now did a test with a 150MB XML message segmented to 15*10MB messages on the input queue.

Parsing it by XMLNSC Domain.
Looping every <trans> tag to calculate value x, every 1000 trans the loop breakes and propagates !

<ROOT>
<info/>

<header>
<numberOfTran/>
<totalAmountOfX/>
</header>

<trans><value>x</value></tans>
<trans><value>x</value></tans>
...
...
</ROOT>



Works FINE, takes 30 sec and the memory peaks at 750MB.
WebSphere Message Broker is incredible
_________________
IBM Certified System Administrator - WebSphere MQ V6.0
IBM Instructor - WebSphere MQ, WebSphere Message Broker
Back to top
View user's profile Send private message
4integration
PostPosted: Thu May 10, 2007 6:56 am    Post subject: Reply with quote

Disciple

Joined: 04 Sep 2006
Posts: 197
Location: Gothenburg, Sweden

jefflowrey wrote:
....
There is a "Large message" sample in the Samples Gallery.


Have anyone implemented the Sample or similar with Java (JCN) and would like to share that?

EDIT: I have problems with large messages sent from IBM WBIA for JDBC and must split them up before transformation.
_________________
Best regards
4 Integration
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 » WebSphere Message Broker (ACE) Support » Large msg, Broker dies, out of memory.
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.