Author |
Message
|
ophir azulai |
Posted: Tue Jun 24, 2008 4:42 am Post subject: 20 seconds pause when receiving a not persistent message |
|
|
Novice
Joined: 29 May 2008 Posts: 13
|
Hi all,
I have the following active/active configuration:
2 pairs of active/passive MQ 6.0.2.3 over MSCS (cross configuration - on each machine I have 1 active QM and 1 passive QM)
2 WAS 6.1.0.15 which receive and send to both QMs on the machines as the MQs (have two listener ports for each MDB)
The test which we are doing is:
- I have 18 application who send a not persistent messages to a 'ping' queue and receive back messages in a 'pong' queue by using the JMS selector.
- Each application sends the ping every 500msec in a round robing fashion to the two QMs (36 messages per second).
- The MDB who gets the ping just send the pong message with the JMS selector.
- The MDB is defined with no transaction.
- The pong message is also not persistent.
- These 18 applications also send and receive other persistent messages not in a high rate.
- The 'ping' listener ports are defined with max_sessions = 4
After some time (between 20 minutes to a hour) the MDBs stop receiving the messages in both machines for 20 seconds.
Some other MDB who also gets a not persistent messages and update the database still work in the 20 seconds time period so just the 'ping' queue is stuck.
What is so strange is that it happened in both WASs or MQs in the same time (I have the active/active redundancy).
Any idea how to solve this issue ?
Thanks,
Ophir |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Jun 24, 2008 7:17 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Could have been a TCP/IP hickup...
Quote: |
- The MDB is defined with no transaction. |
I would not advise on it. It is better for performance especially when you have multiple receivers to have all receivers act in a transacted manner. (It says so somewhere in the manual but I can't remember where).
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
ophir azulai |
Posted: Tue Jun 24, 2008 9:24 am Post subject: |
|
|
Novice
Joined: 29 May 2008 Posts: 13
|
Hi,
The MDB was with transaction and it also didn't work (removed it during the debugging).
Regarding the TCP problem then other MDBs worked during the 20 seconds period so I don't think it is the case. Also it happens in every test.
Thanks,
Ophir |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Jun 24, 2008 1:02 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Are you sure the delay is not caused by some external phenomenon like gc running at that same moment etc...
Or due to some misconfiguration (huge message going through the channel) etc...
 _________________ MQ & Broker admin |
|
Back to top |
|
 |
ophir azulai |
Posted: Tue Jun 24, 2008 8:20 pm Post subject: |
|
|
Novice
Joined: 29 May 2008 Posts: 13
|
Hi,
The GC isn't running in the same time because there are some other MDBs which are working in this period. Also it is unlikely that there will be gc on the two machines on the same time.
BTW I'm using the optavgpause for both WASs for minimizing the gc's pause time.
All the messages are sent are very small.
The MDB which is getting the ping is also sending the pong in a round robin fashion. So he can get the ping from QM1 and send the pong to QM2.
This might be a clue.
Thanks,
Ophir |
|
Back to top |
|
 |
ophir azulai |
Posted: Sat Jul 05, 2008 10:52 am Post subject: The solution |
|
|
Novice
Joined: 29 May 2008 Posts: 13
|
Hi All,
The solution which was found is:
1. In the queue manager properties:
1.1. Disable online monitoring
1.2. Disable statistics monitoring
1.3. Disable accounting monitoring
2. In queue manager->advanced->channels->'channel'->statistics
2.1 Set channel monitoring to off
Thanks,
Ophir |
|
Back to top |
|
 |
|