A Payload File Turbo Boost

This week we are thrilled to announce a couple of big updates to how payload files work!

Variable Payload Files

We have been quietly testing a new kind of payload file for the last few months. If you have ever wanted to use data from a payload file in request headers, JSON bodies, or even the URL, this update is for you. Variable Payload Files allow you to populate variables with values from a JSON file.

With “Classic” payload files, data was automatically added to the GET request querystring, or to the POST request body as form-encoded data. With the new format, values are assigned to variables that you name, and you can then use variable substitution syntax, “{{ varname }}” to use the value. Check out our documentation for more details.

Payload Splitting

This is an improvement that allows you to guarantee your server does not get duplicated data from your payload files. Up until now, we were sending the same data set to every load generator participating in the load test. This meant that some of the load generators sent the same data, and your server would see requests with duplicated data, from different IPs. A lot of the time this is not a problem, but many of you have emailed to let us know your system doesn’t like duplicate data. Load testing user registrations or financial transaction APIs require each request to have a unique username or transaction ID, for example.

We now split payload data between load generators for “Clients Per Test” and “Clients Per second” test types, so if you provide a payload file with enough unique values, each request is guaranteed to be unique.

How do you know how many values you need?

  • Clients Per Test: the number of values should match the number of clients for the test, e.g. for a “1000 Clients Per Test” test, you need 1000 values
  • Clients Per Second: multiply the number of clients by the duration. For a 60-second “1000 Clients Per Second” test, you need 60 * 1000 = 60,000 values

Payload file splitting is enabled for all “Clients per Test” and “Clients per Second” tests starting today.