Distributed Load Testing Using Kubernetes
Overview
In this article, you will learn how to use Kubernetes Engine to deploy a distributed load testing framework. The framework uses multiple containers to create load-testing traffic for a simple REST-based API.
Although this solution tests a simple web application, the same pattern can be used to create more complex load-testing scenarios such as gaming or Internet-of-Things (IoT) applications. This solution discusses the general architecture of a container-based load testing framework.
System under test
The system under test is a small web application deployed to Google App Engine. The application exposes basic REST-style endpoints to capture incoming HTTP POST requests (incoming data is not persisted).
Example workloads
The application that you’ll deploy is modeled after the backend service component found in many Internet-of-Things (IoT) deployments. Devices first register with the service and then begin reporting metrics or sensor readings, while also periodically re-registering with the service.
Common backend service component interaction looks like this:
To model this interaction, you’ll use Locust
, a distributed, Python-based load-testing tool that is…