Performance analysis in messaging scenarios
We’re going to use our demo application to simulate a few common problems and use signals we have to detect and debug issues. Let’s start the application with the following command:
$ docker-compose up --build --scale consumer=3
It will run one producer and three consumers along with the observability stack.
You can now send a request to the producer at http://localhost:5051/send
, which sends one message to the queue and returns receipt information as a response.
Now you need to add some load with the tool of your choice. If you use bombardier
, you can do it with the following command:
$ bombardier -c 1 -d 30m http://localhost:5051/send
It sends requests to the producer in one connection. You can play with a different number of connections and consumers in the docker-compose
command to see how the metrics change.
You might also want to install Grafana and import the dashboard from the book’s repository...