I am using ActiveMQ 5.10.0.
I have many consumer that connect through stomp connection to ActiveMQ.
I have about 2000 consumer that connect to unique queue. My problem now is that ActiveMQ always crash/hang after a couple of hours and the log not showing any error. It makes me difficult to trace where is the problem.
As far as I know, the new consumer can't create new connection and subscription to queue after ActiveMQ crashed. I can't open the web console too.
Is there any way to improve the performance of ActiveMQ to handle many connections or anything else for performance tuning?
0
votes
Strange, AMQ usually gives some log of "out of memory" or similar. I would monitor the JVM process using visual vm or java mission controll to see what's up with memory/CPU over time. AMQ is not really designed for very high amount of consumers (although 2000 should work). May I suggest you try Artemis instead? activemq.apache.org/artemis which is better designed for performance and thousands of consumers.
- Petter Nordlander
@PetterNordlander Thanks for the respnonse Peter. For now I am trying with new setting. I use larger size of Xmx and Xms. I will try to look for Artemis. Thanks for your information.
- Mari_Yaguchi
1 Answers
0
votes
In order to debug to exact issue, try:
- Enable debug logs of active mq
- Add TransportListener to active mq connection/connection factory. Logging connection interrupt, resume and exception. Refer http://activemq.apache.org/maven/apidocs/org/apache/activemq/transport/TransportListener.html
- JMX monitoring via jconsole or jvisual vm, thread dump might help in debugging the same.
We faced similar issue in production env. where producers were able to produce but consumers were not consuming after 24-48 hrs of everything running fine. Restarting active mq lead to consumers starting consuming messages. We haven't found the exact cause/fix yet but recently added above debugging steps.