This Helm chart deploys a full load test suite in Kubernetes. It consists of the 3 micro-services:

  1. A webserver based on simple-webserver
  2. A loadbot client which is based on this and that
  3. An aggregator which orchestrates the test run

Aggregator

Since the webservers and the loadbots work autonomic the task of the aggregator ist to orchestrate the test run. It does this by useing the Kubernetes api via client-go library to talk set up the desires replicas of each unit. The test run consists of the following tests scenarios:

Scenario Loadbots Webserver
Idle 1 1
Under load 1 10
Equal load 10 10
Over load 100 10
High load 100 100

The maximum count of replicas (default 100) can be set with –set aggregator.maxReplicas=….

Loadbots

The loadbots have the task to run a predefined level of queries per second. Vegeta publishes detailed statistics which will be fetched and evaluated by the aggregator. This metrics are:

  • Queries-Per-Second (QPS)
  • Success-Rate
  • Mean latency
  • 99th percentile latency

Test results

When all tests are finishes the aggregator will print the following summary to its logs:

GENERATING SUMMARY OUTPUT Summary of load scenarios: 0. Idle : QPS: 10037 Success: 100.00 % Latency: 949.82µs (mean) 3.004154ms (99th)

  1. Under load: QPS: 10014 Success: 100.00 % Latency: 965.549µs (mean) 1.985838ms (99th)
  2. Equal load: QPS: 50078 Success: 100.00 % Latency: 982.519µs (mean) 7.213018ms (99th)
  3. Over load : QPS: 501302 Success: 100.00 % Latency: 198.21451ms (mean) 859.504601ms (99th)
  4. High load : QPS: 502471 Success: 100.00 % Latency: 239.26364ms (mean) 1.018523444s (99th) END SUMMARY DATA

Tell us about a new Kubernetes application

Newsletter

Never miss a thing! Sign up for our newsletter to stay updated.

About

Discover and learn about everything Kubernetes

Navigation
Follow