- Notifications
You must be signed in to change notification settings - Fork112
A load testing tool
License
Unknown and 3 other licenses found
Licenses found
rabbitmq/rabbitmq-perf-test
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
This repository contains source code of the RabbitMQ Performance Testing Tool.The client is maintained by theRabbitMQ team at Broadcom.
PerfTest uses theAMQP 0.9.1 protocol to communicate with a RabbitMQ cluster.UseStream PerfTest if you want to testRabbitMQ Streams with thestream protocol.
This is a standalone tool that is distributed in binary form usingGitHub releases and as a JAR file on Maven Central (see below).PerfTest requires at least Java 8, but some features require Java 11.The latest LTS Java version is recommended.
ADocker image is available as well.
Thelatest snapshot is also available.
Download the latest snapshot:
wget https://github.com/rabbitmq/rabbitmq-java-tools-binaries-dev/releases/download/v-rabbitmq-perf-test-latest/perf-test-latest.jar
Launch a performance test with 1 producer and 1 consumer:
java -jar perf-test-latest.jar
Use
java -jar perf-test-latest.jar --help
to see all supported options.
The HTML Performance Tools are a set of tools that can help you runautomated benchmarks by wrapping around thePerfTest benchmarkingframework. You can provide benchmark specs, and the tool will take careof running the benchmark, collecting results and displaying them in anHTML page. Learn morehere.
SeeCONTRIBUTING.md for an overview of the development process.
To build the uber JAR:
./mvnw clean package -P uber-jar -Dgpg.skip=true -Dmaven.test.skip
The generated file istarget/perf-test.jar.
To build the JAR file:
./mvnw clean package -Dmaven.test.skip
The file is then in thetarget directory.
The test suite needs to executerabbitmqctl to test connection recovery. Youcan specify the path torabbitmqctl like the following:
./mvnw clean verify -Drabbitmqctl.bin=/path/to/rabbitmqctlYou need a local running RabbitMQ instance.
Start a RabbitMQ container:
docker run -it --rm --name rabbitmq -p 5672:5672 rabbitmq:4.1Run the test suite:
./mvnw clean verify -Drabbitmqctl.bin=DOCKER:rabbitmqFiles are then in thetarget directory.
PerfTest depends transitively on SLF4J for logging (through RabbitMQ Java Client).PerfTest binary distributionships with Logback as a SLF4J binding and uses Logback default configuration (printing logs to the console). Iffor any reason you need to use a specific Logback configuration file, you can do it this way:
java -Dlogback.configurationFile=/path/to/logback.xml -jar perf-test.jar
As of PerfTest 2.11.0, it is possible to define loggers directly from the command line. This is less powerfulthan using a configuration file, yet simpler to use and useful for quick debugging. Use therabbitmq.perftest.loggerssystem property withname=level pairs, e.g.:
java -Drabbitmq.perftest.loggers=com.rabbitmq.perf=debug -jar perf-test.jar
It is possible to define several loggers by separating them with commas, e.g.-Drabbitmq.perftest.loggers=com.rabbitmq.perf=debug,com.rabbitmq.perf.Producer=info.
It is also possible to use an environment variable:
export RABBITMQ_PERF_TEST_LOGGERS=com.rabbitmq.perf=infoThe system property takes precedence over the environment variable.
Use the environment variable with the Docker image:
docker run -it --rm --network perf-test \ --env RABBITMQ_PERF_TEST_LOGGERS=com.rabbitmq.perf=debug,com.rabbitmq.perf.Producer=debug \ pivotalrabbitmq/perf-test:latest --uri amqp://rabbitmqIf you usePerfTest as a standalone JAR in your project, please note it doesn't depend on any SLF4J binding,you can use your favorite one.
This tool usessemantic versioning.
See theRabbitMQ Java libraries support pagefor the support timeline of this library.
This package, the RabbitMQ Performance Testing Tool library, is triple-licensed underthe Mozilla Public License 2.0 ("MPL"), the GNU General Public Licenseversion 2 ("GPL") and the Apache License version 2 ("ASL").
About
A load testing tool
Topics
Resources
License
Unknown and 3 other licenses found
Licenses found
Code of conduct
Contributing
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.