Measuring Agent Cluster

How to build a Measuring Agent Cluster

This document describes how to combine multiple Measuring Agents into a Cluster and how to run heavy-duty Load Tests.

If you want to perform heavy-duty Load Tests with almost unlimited load, you need a Cluster of Measuring Agents. Or to put it another way: you need a RealLoad ‘Cluster Controller’ to which you can assign up to several hundred of Measuring Agents.

A ‘Cluster Controller’ is a component of the RealLoad architecture that is running as an independent OS process and combines multiple Measuring Agents under one hat. Normally a ‘Cluster Controller’ runs on its own, separate machine whereby the cluster members must be reachable from the ‘Cluster Controller’.

Measuring Agent Clusters Features

  • From an external perspective - that is, from the user interface - the cluster behaves the same as a normal load generator (Measuring Agent). As usual, you can start load test jobs on the cluster, view their progress in real time, and evaluate the test results.
  • The test results of the cluster members are automatically combined into one result both in real time and during evaluation.
  • The content of Input Files can be split over the cluster members.
  • The capacity of the cluster scales linearly with the number of cluster members - there is no cluster overhead during execution of a test.
  • Up to several hundred of ‘Measuring Agents’ can be combined to a cluster.
  • By using RealLoad ‘Cloud Credits’, you can start a high-performance cluster in just a few minutes at any time - at low cost and without any preparation time.
  • RealLoad ‘Cluster Controllers’ can also launched by using your own AWS account and can also be installed manually on self-hosted systems.
  • After you have got a ‘Cluster Controller’ up and running, the assignment of Measuring Agents can be done very easily via the user interface with a few mouse clicks, without having to configure any JSON or XML files.
  • Depending on the number of cluster members and their CPU resources and memory, you can execute load tests with millions of concurrent users. RealLoad is probably one of the the most powerful load testing tool on this earth - and available at an unrivaled competitive price.

The following screenshots are for educational purposes only and show the setup and use of a small cluster.

Launching Cluster Members using Cloud Credits

In this example 3 cluster member are started:

“alt attribute”

The following steps are repeated 3 times:

“alt attribute”

Select the Image ID in your preferred AWS region. If your preferred AWS region is not listed, contact support@realload.com - we will then provide you with an appropriate AMI.

“alt attribute”

“alt attribute”

Input Fields:

  • AWS/EC2 Instance Type : Select an AWS/EC2 instance type. Rule of Thumb for HTTP Test Wizard tests: per EC2 vCPU, 100 virtual users can simulated.
  • Terminate Instance after : Select a sufficiently long time period to carry out your test, with some reserve time. Please note that the time period cannot be extended. Cloud credits for completely unused hours will be refunded if you manually terminate the instance early.
  • Access Authentication Token : A random value is displayed as default. You can leave it like that.

After you click on ‘Launch Instance’ a confirmation will be displayed. You don’t have to wait any longer and can launch the next Measuring Agent immediately.

“alt attribute”

After launching the 3 Measuring Agents it looks something like this:

“alt attribute”

Launching a Cluster Controller using Cloud Credits

After you have launched all cluster members, you can launch the Cluster Controller:

“alt attribute”

It is recommended to launch the Cluster Controller in the same AWS region where the cluster members are located.

“alt attribute”

It is recommended to select the same AWS/EC2 Instance Type as for the cluster members. And of course you must select the same value for Terminate Instance after as you have selected for the cluster members.

“alt attribute”

Now you have to wait at least 40 seconds:

“alt attribute”

Then ‘Ping’ the Cluster Controller.

“alt attribute”

If you get an error, wait another minute and then try pinging again.

“alt attribute”

Assigning Cluster Members to the Cluster

Before you can use a cluster, you must assign cluster members to it. Click on the number of cluster members shown:

“alt attribute”

Then add the members to the cluster …

“alt attribute”

… and click ‘Apply’:

“alt attribute”

Then ‘Ping’ the cluster members via the Cluster Controller:

“alt attribute”

If no error is displayed, the cluster is now ready for use:

“alt attribute”

Executing Load Tests using a Cluster

Load Tests Jobs that are executed by a cluster are started in (almost) exactly the same way as load tests jobs that are started on a single Measuring Agent.

When starting a Load Test Job, you simply select the cluster instead of a Measuring Agent:

“alt attribute”

If the job contains Input Files, you can split their contents among cluster members if necessary:

“alt attribute”

The Real Time View shows the summarized results of all cluster members. By clicking on the cluster icon you can view details about the cluster members:

“alt attribute”

“alt attribute”

After the job is completed you must load the test result immediately. This is because it can no longer be loaded once the cluster controller has been terminated.

“alt attribute”

The test result shows the summarized results across all cluster members. By clicking on the cluster icon you can view the result of each cluster member. If errors were measured, it is also displayed for each error on which cluster member it occurred on.

“alt attribute”

“alt attribute”

Note: After the Cluster Controller instance has been terminated, a warning will be displayed at the corresponding load test jobs - this is normal behavior and not a problem:

“alt attribute”