Public | Automated Build

Last pushed: 2 years ago
Short Description
Basic load test for Python aioamqp library
Full Description


Basic load test for Python aioamqp library

In producer mode starts 100 coroutines that each asynchronously send a blank
message to RabbitMQ and then restart themself

In consumer mode receives and acknowledges messages as quickly as it can from

In both modes each time a message is sent, or acknowledged a counter is updated.
When a multiple of 10000 messages is sent, a log message is shown


  --host TEXT
  --port INTEGER
  --username TEXT
  --password TEXT
  --queue TEXT
  --exchange TEXT
  --pidfile TEXT
  --debug / --no-debug
  --help                Show this message and exit.

Running (Docker)

The Dockerfile provided runs a RabbitMQ server, a producer, and a consumer that
all interact correctly with each other.

$ docker run -it --rm thatpanda/aioamqp-loadtest:latest
INFO    2016-08-29 06:44:11,446 producer   _rmq_produce  156: 10000 messages sent
INFO    2016-08-29 06:44:12,259 consumer   _on_message  180: 10000 messages acknowledged
INFO    2016-08-29 06:44:12,769 producer   _rmq_produce  156: 20000 messages sent
INFO    2016-08-29 06:44:14,297 producer   _rmq_produce  156: 30000 messages sent
INFO    2016-08-29 06:44:14,348 consumer   _on_message  180: 20000 messages acknowledged

Optionally, you can also build the Docker image locally. If you don't do this,
the auto-built image from Docker Hub will be pulled and should be exactly the

$ docker build -t thatpanda/aioamqp-loadtest:latest .
Successfully built deadbeefdead


Ctrl+C or any kind of kill signal will cleanly stop all services in Docker, and
both clients.

Docker Pull Command
Source Repository