Load Testing of Containerised Web Services

Christoffer Hamberg · KTH Publication Database DiVA (KTH Royal Institute of Technology) · 2016

Load testing web services requires a great deal of environment configuration and setup. This is especially apparent in an environment where virtualisation by containerisation is used with many moving and volatile parts. However, containerisation tools like Docker offer several properties, such as; application image creation and distribution, network interconnectivity and application isolation that could be used to support the load testing process. In this thesis, a tool named Bencher, which goal is to aid the process of load testing containerised (with Docker) HTTP services, is designed and implemented. To reach its goal Bencher automates some of the tedious steps of load testing, including connecting and scaling containers, collecting system metrics and load testing results to name a few. Bencher's usability is verified by testing a number of hypotheses formed around different architecture characteristics of web servers in the programming language Ruby. With a minimal environment setup cost and a rapid test iteration process, Bencher proved its usability by being successfully used to verify the hypotheses in this thesis. However, there is still need for future work and improvements, including for example functionality for measuring network bandwidth and latency, that could be added to enhance process even further. To conclude, Bencher fulfilled its goal and scope that were set for it in this thesis.

Read the paper · More papers on PaperTik