svLoad: An Automated Test-Driven Architecture for Load Testing in Cloud Systems
Jannatun Noor, Md. Golam Hossain, Muhammad Ahad Alam, Ashraf Uddin, Sriram Chellappan, A. B. M. Alim Al Islam · 2018
Nowadays, Internet-based technologies possess immense processing power, capacity, flexibility, and are gradually moving towards a service- oriented functionality in order to build new distributed storage systems in the cloud. Several distributed systems are currently running in different geographically located data centers for successful deployment of modern web and social services such as Facebook, Twitter, ringID, etc. Both cache and backend servers in such distributed systems must be functional and reliable for incoming workloads by means of efficient allocation of capacity along with proper configuration and tuning of multiple system resources. To address these challenges, in this paper, we propose a test-driven automated architecture for load testing, named as 'svLoad' to compare the performance of cache and backend servers. Here, we designed test cases considering diversified real scenarios such as different protocol types, same or different URLs, with or without load, cache hit or miss, etc. using tools namely JMeter, Ansible, and some custom utility bash scripts. To validate the efficacy of our proposed methodology, we conduct a set of experiments by running these test cases over a real private cloud development setup using two open source projects - Varnish as the cache server and OpenStack Swift as the backend server. Our focus is also to find out bottlenecks of Varnish and Swift by executing load requests, and then tune the system based on our load test analysis. After successfully tuning the Swift, Varnish, and network system, based on our test analysis, we were able to improve the response time by up to 80%.