Dockerized Distributed Load Test Infrastructure

They says, Dress to Impress. Today, you will dress the distributed load tests and impress your manager with this awesome open-source and free of charge implementation to host and run your distributed load testing without the need to pay massive dollars to LoadImpact or LoadRunner. All are open-source and you will be free to customize.

Why do you need distributed load tests?
Because simply, the single server load test will not simulate more than 500 vUser in its best cases. So what if you need to simulate 5,000 concurrent vUsers! This won’t be doable without distributing your tests on several linux servers.

What are the challenges?
Well, unlike single machine load test, the distributed tests needs to share the test data, gather results from servers into centralized logging system, and servers management difficulties.

– Nginx: web server to store the HTML reports on it and make it accessible to other team members.
– Redis DB: to store our test data and distribute it to all servers to use.
– Influx DB: to store real time test results.
– Grafana: to create a dashboard showing real time results.
– ElasticSearch, Kibana and File Beats: Will be used for a centralized logging system.
– Docker: to easily launch and manage above softwares we want on our linux servers.
– Rancher: to easily manage docker containers and linux servers.