ActiveMQ Maven Performance Test Plugin
Usage notes
ActiveMq ships a performance testing tool as part of the software. This tool ships with different property files that can be modified to suit each test case. The tool requires maven. The results from the test are generated as a report in XML format. In the properties file, update the URL for OpenWire end point. The default SPI for this uses OpenWire based connection factory.
svn checkout http://svn.apache.org/repos/asf/activemq/sandbox/activemq-perftest/ activemq-perftest
mvn activemq-perf:producer -DsysTest.propsConfigFile=src/main/resources/producer-conf/AMQ-Prod-1-1-queue-nonpersistent.properties
mvn activemq-perf:consumer -DsysTest.propsConfigFile=src/main/resources/consumer-conf/AMQ-Cons-1-1-queue.propertiesFor using the above tool with AMQP end point, the SPI would need to modified to load the AMQP connection factory.
Download the AMQP SPI class Josh's github and use the following pom (which integrates into activeme-perftest pom. The lines 34 thru 59 are the new lines that were added to the original pom.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>activemq-parent</artifactId>
<groupId>org.apache.activemq</groupId>
<version>5.7.0</version>
</parent>
<artifactId>activemq-perftest</artifactId>
<packaging>jar</packaging>
<name>ActiveMQ :: Performance Test</name>
<description>Performance Testing Framework for ActiveMQ</description>
<properties>
<activemq-version>5.15.9</activemq-version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.activemq.tooling</groupId>
<artifactId>activemq-perf-maven-plugin</artifactId>
<version>${activemq-version}</version>
</plugin>
<plugin>
<groupId>org.apache.activemq.tooling</groupId>
<artifactId>activemq-memtest-maven-plugin</artifactId>
<version>${activemq-version}</version>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-jms-client</artifactId>
<version>0.44.0</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-amqp</artifactId>
<version>${activemq-version}</version>
</dependency>
<dependency>
<groupId>org.apache.activemq.tooling</groupId>
<artifactId>activemq-perf-maven-plugin</artifactId>
<version>${activemq-version}</version>
</dependency>
<!-- Provide a logging implementation to avoid
notice from SLF4J that none was found -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</dependency>
</dependencies>
<pluginRepositories>
<pluginRepository>
<id>apache-plugins-snapshots</id>
<name>Apache Snapshots</name>
<releases>
<enabled>false</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
<url>http://repository.apache.org/snapshots/</url>
<layout>default</layout>
</pluginRepository>
</pluginRepositories>
<repositories>
<repository>
<id>apache-snapshots</id>
<name>Apache Snapshots</name>
<releases>
<enabled>false</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
<url>http://repository.apache.org/snapshots/</url>
<layout>default</layout>
</repository>
</repositories>
</project>
References
Last updated
Was this helpful?