Author |
Message
|
vasanthi |
Posted: Tue Sep 13, 2005 11:01 am Post subject: how to increase the throughput of my message flow |
|
|
Apprentice
Joined: 23 Apr 2005 Posts: 42
|
Hi
i have created a message flow which contains of
MQ Input-->computenode-->MQOutput node.
the failure terminals of the input node is connected to another error handling subflow.
my input is an XML message and i am doing some transformations in the comput node and building an xml message and sending it to the output.
the output message is about 30KB in size.i have used to one of the support pacs to find the throughout of my flow and i found that the flow was able to process about 22 messages per second.
Note: this is in development environment.i am using WBIMB 5.0
CSD04
i have set the the messages to be persistent.
i have tried to increase the number of instances of the flow but still there is no much difference in the throughput. can anyone suggest me about some ideas about how i can increase the throughput of my message flow.
some more doubts on the same throughput issue:
1. is the number of queues on a QManager effects the throughput.
2. does deploying of a message flow onto multiple execution groups on the same machine(1 CPU) increases the throughput.
Regards
vasanthi |
|
Back to top |
|
 |
recallsunny |
Posted: Tue Sep 13, 2005 12:51 pm Post subject: |
|
|
 Disciple
Joined: 15 Jun 2005 Posts: 163 Location: Massachusetts
|
Quote: |
1. is the number of queues on a QManager effects the throughput |
That is not always true, unless you have all the queues dealing with Persistence messaging...
Quote: |
2. does deploying of a message flow onto multiple execution groups on the same machine(1 CPU) increases the throughput.
|
Does improve the throughput in some cases, but again its dependent on other factors like the Order Mode in your input node, Your system configurations, Persistence messaging etc.
In your case the two things (out of many) that might improve the performance, one is changing the "Persistence" of the MQ messages. Persistence messaging needs a lot of sys I/O. If its unavoidable then consider optimizing the I/O and increase the Log size of the queue manager.
The other aspect is Optimizing ESQL statements, check your code for unecessary eSQL declarations or While loops or Vague "select where" clauses, this might improve the performance to some extent.
Best of Luck |
|
Back to top |
|
 |
JT |
Posted: Tue Sep 13, 2005 6:45 pm Post subject: |
|
|
Padawan
Joined: 27 Mar 2003 Posts: 1564 Location: Hartford, CT.
|
|
Back to top |
|
 |
samgunddi |
Posted: Wed Sep 14, 2005 4:46 am Post subject: |
|
|
 Acolyte
Joined: 17 May 2004 Posts: 54
|
|
Back to top |
|
 |
bower5932 |
Posted: Wed Sep 14, 2005 5:34 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Aug 2001 Posts: 3023 Location: Dallas, TX, USA
|
|
Back to top |
|
 |
vasanthi |
Posted: Wed Sep 14, 2005 10:26 am Post subject: |
|
|
Apprentice
Joined: 23 Apr 2005 Posts: 42
|
Thanks for all the replies. i have gone through the documentation.i have some doubts .i think you could help me clarifying my doubts
1. in one of the document i found
Where system CPU utilization is high and the idle time is less than the amount of time needed by a message flow to process messages, message flow processing will suffer because the required CPU is not available.
when i tried using the MQjavaRoundtrip program which i found in the list of support packs to create multiple threads of this java program and constantly put messages to my queue i found that my CPU utilization is going to 99%.
so in the document it says if this is the case as above then it degrades the response.
so can you tell me why the cpu utilization is going so high on my system. what can be done to bring the CPU utilization down.
2. can i deploy the same message flow to my broker and also to a broker on another machine. if we can deploy will it increase the throughput. how the messages will be processed and in what order they are processed.
regards
vasanthi |
|
Back to top |
|
 |
|