MQ Load Testing

A step by step procedure to do performance testing with AMQ using AWS Batch. Reports are summarized and compiled into XML. S3 buckets are used to store properties and report files.

The following is a step by step procedure to do AMQ performance testing on a large scale using ActiveMQ Maven Performance Test Plugin. This is my personal notes on how to run a fully reproducible test. This notes does not include any specific test results.

Docker

Install Docker

sudo yum update
sudo yum install docker 
sudo amazon-linux-extras install docker
sudo usermod -a -G docker ec2-user
sudo service docker start

Prerequisites

mkdir amq-perf
cd amq-perf
sudo yum install -y subversion
wget https://d3pxv6yz143wms.cloudfront.net/8.222.10.1/java-1.8.0-amazon-corretto-devel-1.8.0_
222.b10-1.x86_64.rpm
wget http://mirror.cc.columbia.edu/pub/software/apache/maven/maven-3/3.6.1/binaries/apache-ma
ven-3.6.1-bin.tar.gz
tar xzvf apache-maven-3.6.1-bin.tar.gz
rm apache-maven-3.6.1-bin.tar.gz
svn checkout http://svn.apache.org/repos/asf/activemq/sandbox/activemq-perftest/

Docker run command for producer

Docker run command for consumer

Dockerfile

Build docker image and upload to ECR

Fargate cluster

Install ecs-cli

Task execution role

Create role

Attach ECS and S3 Policies

Create cluster config

Create a esc-cli profile with access key and secret key

Create a cluster with existing VPC, subnets and security group

Task definitions for producers and consumers

Run task

Test Parameters

See 2. in references below for different test parameters that can be specified.

TODO :

  1. Collect and add CloudWatch Metrics to the above report

References

Last updated

Was this helpful?