Author |
Message
|
tapak |
Posted: Mon Jul 17, 2006 6:03 am Post subject: Performance Issues on 200 + OPPROCS and 500 queues |
|
|
 Centurion
Joined: 26 Oct 2005 Posts: 149 Location: Hartford,CT
|
I have 2 questions on MQ Application Design considerations
1. Is there a performance issue on having 200 instances of same application reading from a single queue .
2. Is there an issue of having around 500 queues in a single queue manager .
Appreciate if someone can direct me to the links detailing Application Design considerations . _________________ IBM Certified Solution Designer -- WebSphere MQ V5.3
IBM Certified Solution Designer -- WebSphere Business Integration - Message Broker V5
IBM Certified Specialist -- IBM WebSphere App Svr Advd Single Svr Ed. for Multiplatforms (Java) |
|
Back to top |
|
 |
Mr Butcher |
Posted: Mon Jul 17, 2006 6:06 am Post subject: |
|
|
 Padawan
Joined: 23 May 2005 Posts: 1716
|
1. i bet
2. no. but it depends how they are used. just have 500 queues - no problem.
you are a certified solution designer. why do you ask?  _________________ Regards, Butcher |
|
Back to top |
|
 |
tapak |
Posted: Mon Jul 17, 2006 6:18 am Post subject: |
|
|
 Centurion
Joined: 26 Oct 2005 Posts: 149 Location: Hartford,CT
|
Thanks for the answer . Certified doesnt mean you have 100 percent knowledge on everything . I am looking for inputs from experienced people who has faced issues on similar configurations . |
|
Back to top |
|
 |
Mr Butcher |
Posted: Mon Jul 17, 2006 6:21 am Post subject: |
|
|
 Padawan
Joined: 23 May 2005 Posts: 1716
|
it was a joke. see the smilie. please do mot mind! _________________ Regards, Butcher |
|
Back to top |
|
 |
Nigelg |
Posted: Mon Jul 17, 2006 6:40 am Post subject: |
|
|
Grand Master
Joined: 02 Aug 2004 Posts: 1046
|
Q1. If you are using persistent msgs it is REALLY important that you do all the MQGETs and MQPUTs in syncpoint, even if it only involves 1 msg.
The reason is:
If syncpoint is not used then the log force, the slow bit where WMQ waits for the disk to write the data, is done while the app holds the queue lock, so each app has to wait for the lock.
If syncpoint is used, the log force is done at MQCMIT time, and the queue lock is held for a much shorter length of time, allowing faster access and greater concurrency.
Generally, if using persistent msgs, use syncpoint.
Poor design though.
In WMQ 6, it is likely that all the msgs will be delivered to the same app, because it is biased to do it like that to improve performance by keeping a smaller number of server apps busy, thereby reducing the working set of apps. Adding more apps reading the same queue would not improve performance.
I would advise you to use more queues; you are more likely to get better performance.
Q2. No problem at all having 500 queues. _________________ MQSeries.net helps those who help themselves.. |
|
Back to top |
|
 |
tapak |
Posted: Mon Jul 17, 2006 8:04 am Post subject: |
|
|
 Centurion
Joined: 26 Oct 2005 Posts: 149 Location: Hartford,CT
|
Thanks nigelg for the inputs .
Does it mean that only one application can read messages from a queue for maximum performance. Or do a performance analysis need to be done to anlalyze the optimum no of applications which can be used for reading from a queue. |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Jul 17, 2006 10:54 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
tapak wrote: |
Thanks nigelg for the inputs .
Does it mean that only one application can read messages from a queue for maximum performance. Or do a performance analysis need to be done to anlalyze the optimum no of applications which can be used for reading from a queue. |
I believe the latter is true. Go for the performance analysis. And remember the only selection criteria you should be using are MsgId and/or CorrelId!! _________________ MQ & Broker admin |
|
Back to top |
|
 |
mvic |
Posted: Mon Jul 17, 2006 12:07 pm Post subject: |
|
|
 Jedi
Joined: 09 Mar 2004 Posts: 2080
|
Nigelg wrote: |
In WMQ 6, it is likely that all the msgs will be delivered to the same app, because it is biased to do it like that to improve performance by keeping a smaller number of server apps busy, thereby reducing the working set of apps. Adding more apps reading the same queue would not improve performance. |
Adding more copies of the app would help if
(a) the work involved in processing each message was independent from the work involved for any other message
(b) the work involved for each message took a "long" time.
More on (b): if each message takes 0.01 seconds to process, then only a few copies of the app are required to keep the throughput high. If each message takes 10 seconds to process, you will need more, in order to keep the throughput high.
Ultimately, though, such considerations are gated by CPU and I/O capacity.
As others have said, do some performance analysis. If you have a lot of spare CPU and I/O capacity, and want to use it on processing these messages (and "a" above applies), you could try increasing the number of copies of the app that are getting from the queue.
In summary, my answers to your original questions:
1. no
2. depends ( yes, it depends, sorry ) what you are thinking of doing on those 500 queues |
|
Back to top |
|
 |
tapak |
Posted: Tue Jul 18, 2006 5:52 am Post subject: |
|
|
 Centurion
Joined: 26 Oct 2005 Posts: 149 Location: Hartford,CT
|
Vic and fjb_saper .
Thanks for your valuable inputs . We are already having some queues read by more than 100 application instance . Recently we are facing slowness in the applications reading the queue . Would advice a performance analysis in case of repeated slowness for the queues.
Thanks , Deepak |
|
Back to top |
|
 |
|