(written by Lena Krächan & Tobias Schneider)
Living in today’s age of mobility and internet of things, residents of modern houses can easily interact with their smart homes. A smart home system is the thing to have. You can dim the lights, regulate the temperature, automatically open windows and doors and manage and manipulate even more things and devices.
At the moment there is a huge interest in the area of smart home systems. Many different providers offer systems and protocols.
Therefore, it is not that simple to find the perfect solution for your own house. First of all, all systems differ from each other. Hence, you need to know what kind of services you want to have. Secondly, security always plays a critical role. Are there any benefits or drawbacks when using a certain system?
Now, it’s finally time to start our first load test. We will be using ApacheBench. To install it simply enter apt-get install apache2-utils. To load test your website enter
ab -n 200 -c 50 <URL_to_your_page>
This command runs 200 requests, with a maximum of 50 at the same time. The results are then displayed in the terminal.
All good so far. We decided to to run 10000 requests with a maximum of 1000 at the same time with 1, 5, 20 and 100 Docker containers providing our website, to see if the amount of containers makes a difference. However, the results did not really vary at all. No matter if we used 1 or 100 containers. The requests per second and the time per request ended up being the same (with a little, not noteworthy variation) for every amount of containers.
This series of blogposts will focus on the effects on response times when performing different tasks running on a variable number of docker containers in a virtual machine.
What will be the performance differences running a small or large number of containers on the same machine? These posts will function as a step-by-step tutorial, enabling everyone to reproduce our studies.
In production one of the most scaled services are webservers. Therefore, we want to focus on stress testing a self hosted website that is being load balanced and running in a varying number of Docker containers.