This repository contains source code of the RabbitMQ Stream Performance Testing Tool. The client is maintained by the RabbitMQ team at Broadcom.
Stream PerfTest is based on the stream Java client and uses the stream protocol to communicate with a RabbitMQ cluster. Use PerfTest if you want to test streams or queues with AMQP 0.9.1.
This is a standalone tool that is distributed in binary form using GitHub releases. A Docker image is available as well.
The latest snapshot is also available.
-
For questions: RabbitMQ Users
-
For bugs and feature requests: GitHub Issues
See the RabbitMQ Java libraries support page for the support timeline of this tool.
Download the latest snapshot:
wget https://github.com/rabbitmq/rabbitmq-java-tools-binaries-dev/releases/download/v-stream-perf-test-latest/stream-perf-test-latest.jar
Launch a performance test with 1 producer and 1 consumer:
java -jar stream-perf-test-latest.jar
Use
java -jar stream-perf-test-latest.jar --help
to see all supported options.
You need JDK 11 or later installed.
To build the JAR file:
./mvnw clean package -Dmaven.test.skip
To run the performance tool from the created binary:
java -jar target/stream-perf-test.jar
Launch the broker:
docker run -it --rm --name rabbitmq -p 5552:5552 -p 5672:5672 \ -e RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS='-rabbitmq_stream advertised_host localhost' \ rabbitmq:4.0
Enable the stream plugin:
docker exec rabbitmq rabbitmq-plugins enable rabbitmq_stream
Launch the tests:
./mvnw test -Drabbitmqctl.bin=DOCKER:rabbitmq
The project uses the Google Java Format. Read the documentation to support the format in your favorite IDE.
Please launch the ./mvnw spotless:apply
command to format your changes before committing.
(c) 2020-2023 Broadcom. All Rights Reserved. The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
Double licensed under the MPL2.0 and ASL2. See LICENSE for details.