|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Dynamic memory allocation? |
« View previous topic :: View next topic » |
Author |
Message
|
Kjell |
Posted: Wed Jan 28, 2004 6:29 am Post subject: Dynamic memory allocation? |
|
|
Acolyte
Joined: 26 Feb 2002 Posts: 73
|
I have performance problems, in the way that when I parse a big (40 MB) message into 300.000 messages (via propagates) it's quick for the first two hours. However from message 200.000 and upwards the broker slows down significantly. I have no databases or other external datasources involved. The output is a queue from where the records are eaten up directly by a Java application. So, no pile there.
I guess that the broker flow hits the ceiling of available memory. I does not use more that 60-65% of CPU.
It runs under win2000 and what confuses me a bit is that when I check the task manager the memory usage graph displays a vertical line of 40% usage, compared to what is available on the machine. To me this looks like the broker uses static memory allocation.
Question1: How can I affect this, so the flow can use more of the memory there is on the server?
Question2: How can I design the parsing node so I minimise the memory used?
rgds Kjell |
|
Back to top |
|
 |
mgk |
Posted: Wed Jan 28, 2004 7:53 am Post subject: |
|
|
 Padawan
Joined: 31 Jul 2003 Posts: 1642
|
Hi,
It is hard to say what is happening without knowing more about your setup, but some observations are:
The Mem Usage Graph shown by task manager is misleading. It is actually showing you Page File Usage. A more interesting figure to look at is the 'VM Size' column shown on the processes tab in Task Manager (View | Select Columns) to enable it.
The broker most definately does dynamic memory allocation.
There was a defect in propagate regarding it not releasing memory in 2.1, and it was fixed in 2.1 CSD-3(I think?) , but as you do not mention your environment, it is hard to say if this is your problem...
Cheers, _________________ MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions. |
|
Back to top |
|
 |
Kjell |
Posted: Wed Jan 28, 2004 7:56 am Post subject: |
|
|
Acolyte
Joined: 26 Feb 2002 Posts: 73
|
I'm using WBIMB 5.0. CSDE 02.
/Kjell
mgk wrote: |
Hi,
It is hard to say what is happening without knowing more about your setup, but some observations are:
The Mem Usage Graph shown by task manager is misleading. It is actually showing you Page File Usage. A more interesting figure to look at is the 'VM Size' column shown on the processes tab in Task Manager (View | Select Columns) to enable it.
The broker most definately does dynamic memory allocation.
There was a defect in propagate regarding it not releasing memory in 2.1, and it was fixed in 2.1 CSD-3(I think?) , but as you do not mention your environment, it is hard to say if this is your problem...
Cheers, |
|
|
Back to top |
|
 |
mgk |
Posted: Wed Jan 28, 2004 9:01 am Post subject: |
|
|
 Padawan
Joined: 31 Jul 2003 Posts: 1642
|
OK, The MQ Qmanager is going to be heavily loaded here. Have you checked that it is not MQ slowing down under WBI? You could try putting the messages direct to the Q 300000 times (simulating the broker) and see if you still slow down.
Some other things to think about:
What transactionality attributes do you have set?
What else is the flow doing downstream of the compute node?
Are your messages persistent?
Is there anything else on the box that could take cpu time away from the broker?
Failng any luck with the above, I suggest you raise a PMR...
Cheers, _________________ MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions. |
|
Back to top |
|
 |
wmqiguy |
Posted: Wed Jan 28, 2004 9:54 am Post subject: |
|
|
 Centurion
Joined: 09 Oct 2002 Posts: 145 Location: Florida
|
Not sure this will get you to the finish line, but here are a couple of suggestions:
1. Can you break that 40Meg message into several smaller chunks or does it need to be processed and committed as one unit of work? If there aren't any message dependencies, this is definitely the way to go.
2. Take a long hard look at the use of reference pointers. This can significantly speed up walking through the tree and making assignments, etc.
Good Luck!
Todd |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|