git.net

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ActiveMQ and Artemis reliability - Messages lost


Hello everyone,

As was recently mentioned [1], we started to analyze the currently used
queue system. During the first iteration, we started to test reliability.

Testing environment:
AWS

Hardware:
| Producer   | m5.large   | 2vCPU / 8GiB |
| Consumer | t3.medium | 2vCPU / 2GiB |

Software:
OS: CentOS Linux release 7.5.1804
Java: Oracle JDK SE 8 Update 191
ActiveMQ: ActiveMQ 5.15.6
Artemis: ActiveMQ Artemis 2.6.3
Client: JmsTools [2]

Configuration:
ActiveMQ stand-alone:
1. activemq.xml: added 'individualDeadLetterStrategy'
2. ACTIVEMQ_OPTS=-Xms512M -Xmx7G
3. Started as systemd service

Artemis stand-alone:
1. artemis.profile: modified JAVA_ARGS to -Xms512M -Xmx7G
2. jolokia-access.xml: modified to <allow-origin>*</allow-origin>
3. Started as systemd service

Methodology:
1. Run producer for 5 minutes on the queue.
2. Run consumer to consume all messages from the same queue.
3. Iterate 5 times.
4. Restart activemq or artemis service during producer/consumer work,
depending on the test.

Client:
Producer:
java -Xms512m -Xmx3G -jar AmqJmsProducer-1.8-jar-with-dependencies.jar
-url failover:\(tcp://10.0.20.28:61616,tcp://10.0.20.28:61616\) \
-notran \
  -log Logs \
  -t 10 \
  -duration 5 \
  -id \
  -type TEXT \
  -queue Test

Consumer:
java -Xms512m -Xmx3G -jar AmqJmsConsumer-1.8-jar-with-dependencies.jar \
-url failover:\(tcp://10.0.20.28:61616,tcp://10.0.20.28:61616\) \
-log Logs \
-timeout 60000 \
-t 10 \
-verify \
-drain \
-queue Test

Restarts:
service=activemq
#service=artemis
while :; do
  interval=30
  sudo systemctl restart $service
  sudo systemctl status $service | grep "Active:.*;"
  sleep $interval
done

> Note: Artemis service was restarted every 120 seconds and sometimes
> restarts were stopped because of Artemis long start because of journal
> checking.

Results:
<http://activemq.2283324.n4.nabble.com/file/t379260/Apache-ActiveMQ-v5.png> 
<http://activemq.2283324.n4.nabble.com/file/t379260/Apache-Artemis-v2.png> 

Question:
1. Is there any configuration from the default ones which may permit us to
achieve zero messages loss with ActiveMQ an Artemis?
2. If we assume that used tools may have issues/bugs, which one may we use
for such type of tests?
3. Any advices.


Thank you!

Slava.


Links:
[1] -
http://activemq.2283324.n4.nabble.com/ActiveMQ-5-x-reliability-and-ActiveMQ-Artemis-questions-tt4744108.html
[2] - https://github.com/erik-wramner/JmsTools



--
Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html