Author |
Message
|
Deeko |
Posted: Mon Oct 21, 2002 5:18 am Post subject: Low throughput problems! |
|
|
 Acolyte
Joined: 16 May 2001 Posts: 72 Location: Edinburgh, UK
|
Hi...we've been investigating slow response times and have noticed that when we have low throughput (typically 1 message every 5 seconds) then we get bad response times (ie the time taken for the message to travel through MQ to the destination) when passing messages through an intermediate Qmgr (ie QM1->QM2 (WMQI)->QM3) to be routed by WMQI (if we take this step out and route directly to the destination Qmgr (QM1->QM3) then we see an improvement of over 200ms in response time (ie the time taken to get from the QM1->QM3 improves to 200ms from 400ms! We obviously think an overall transit time of 200ms is still bad though!).
We have a test harness (initially running as a JMS client) that showed that even just connecting to the Qmgr and putting/getting a message to and from the same queue costed upto 400ms when running at that throughput!! Of course this all goes away and we get fast responses when we up the thorughput!
We've isolated this to the MCA as when we run tests under native bind (putting and getting from the same queue) we don't have any problems.
Anyone any ideas what's causing this and how we can resolve it? We're running MQ 5.2 CSD 2 on AIX 4.3.3 and using inetd as the listener. There has been no tuning done on the QMgr/hardware as of yet. Should we introduce trusted listeners etc?
NB - I should point out that WMQI has been ruled out of the problem as it's typically taking 25ms to process the message which is non-persistent and 1Kb in size).
Regards,
Derek. |
|
Back to top |
|
 |
bower5932 |
Posted: Mon Oct 21, 2002 9:06 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Aug 2001 Posts: 3023 Location: Dallas, TX, USA
|
This sounds like it is related to the BATCHINT and BATCHSZ parameters on the channel. MQSeries has to checkpoint a batch of messages to make sure everything got across. You tune the size of this batch with the BATCHSZ parameter. If a batch is too small, you don't want to wait forever. You control this time with the BATCHINT parameter.
When you send a small number of messages, you are waiting on the BATCHINT.
When you send a large number, you are reaching BATCHSZ and the BATCHINT doesn't come into play. |
|
Back to top |
|
 |
Deeko |
Posted: Mon Oct 21, 2002 9:26 am Post subject: |
|
|
 Acolyte
Joined: 16 May 2001 Posts: 72 Location: Edinburgh, UK
|
bower5932 wrote: |
This sounds like it is related to the BATCHINT and BATCHSZ parameters on the channel. MQSeries has to checkpoint a batch of messages to make sure everything got across. You tune the size of this batch with the BATCHSZ parameter. If a batch is too small, you don't want to wait forever. You control this time with the BATCHINT parameter.
When you send a small number of messages, you are waiting on the BATCHINT.
When you send a large number, you are reaching BATCHSZ and the BATCHINT doesn't come into play. |
I thought these were only really relevant to persistent messages? My messages are all non-persistent and the fast channel setting is on.
Regards,
Derek. |
|
Back to top |
|
 |
mgrabinski |
Posted: Mon Oct 21, 2002 11:25 pm Post subject: |
|
|
Master
Joined: 16 Oct 2001 Posts: 246 Location: Katowice, Poland
|
Hi Derek,
Fast nonpersistent message still are sent in batches and all rules regarding BATCHINIT and BATCHSZ apply to them as well. The only difference is that fast nonpersistent messages are not part of a syncpoint proccessing. After being sent, they are imiedietaly removed from the transmission queue _________________ Marcin Grabinski <>< |
|
Back to top |
|
 |
Deeko |
Posted: Mon Oct 21, 2002 11:33 pm Post subject: |
|
|
 Acolyte
Joined: 16 May 2001 Posts: 72 Location: Edinburgh, UK
|
I'll try changing BATCHSZ on 1 to see what happens....I don't think this area is documented very well!
Thanks,
Derek. |
|
Back to top |
|
 |
Deeko |
Posted: Tue Oct 22, 2002 1:09 am Post subject: |
|
|
 Acolyte
Joined: 16 May 2001 Posts: 72 Location: Edinburgh, UK
|
Changing the BATCHSZ to 1 made no difference at all!  |
|
Back to top |
|
 |
Deeko |
Posted: Tue Oct 22, 2002 5:53 am Post subject: |
|
|
 Acolyte
Joined: 16 May 2001 Posts: 72 Location: Edinburgh, UK
|
I have now tried :
running trusted listeners
enabling channel pipelining
disabling AIX write behind
setting LogBufferPages to 512
But nothing is making any difference! Has anyone ever done any low throughput testing? I'm getting such a large difference (3ms when 40 msgs per second and upto 430ms when 1 msg every 4 seconds!). It's really unacceptable for us to have this level of inconsistent behaviour when the throughput is low!
Regards,
Derek. |
|
Back to top |
|
 |
|