Go back to all articles

Performance Testing with PFLB: the Beginner’s Guide

Mar 13, 2023
12 min read

If you have faced performance issues with your product or are getting ready for a release, you have probably already started thinking about performance testing. You might (and should!) be interested in finding out which operations slow down your system the most, what load can it endure, or what number of users can use it concurrently without causing response time growth.

There are special tools designed to help you find answers to each of these questions through performance testing, but their interfaces often take time and effort to get familiar with. If you are not into spending lots of your time on reading documentation and tutorials, we have good news for you: there is an exception to every rule! In this blog post we’re describing how to run performance testing with PFLB, even if it is the first performance testing project in your life.

What is the PFLB?

PFLB is a cloud platform designed to evaluate the performance of websites, mobile applications, REST, and gRPC API services. It helps you understand how your system works under load when visited by many concurrent users.

The service is really easy to use: make a request to emulate the load, set up virtual users’ activity parameters and get a report which helps identify performance issues. For websites, there is an even easier way: use your Google Analytics data to create a load profile automatically.

Getting Started and Setting Profile Distribution

First of all, you will need to log in to the system. You can use your email or your Google Analytics profile to register on PFLB. The process is as simple as any other registration, and the prices are reasonable, so we’re sure you’ll make it.

As soon as you are log in, you can start creating your first test. Click the New Test icon on the left of the screen to create a new test project, namely, a set of HTTP requests or transactions. Scenarios, or a specified order of executing such requests, are called Groups.

An HTTP request is a message sent by a client, usually a browser, to the server. When you click the link or type text in the message field, you send an HTTP: any user activity on the website is a set of HTTP requests. A transaction is a group of HTTP requests that are sent to the server with certain parameters.

Before you create groups, you have to set up the rules of load distribution between them. PFLB supports two modes of virtual users distribution:

  • 01 Percent
    Virtual users distribution between groups is set as a certain percentage.
  • 02 Users
    You set up the numbers independently for each group.
Boomq launch guide image 1

The first option is easier to set up, while the second gives you more flexibility. You can choose the option you prefer in the Thread groups section, but if you are new to performance testing, we recommend using the Percent mode of profile distribution.

Want to Learn More about PFLB?
Schedule a demo with our experts

Creating a Test

Now you are ready to create your first test! There are three ways to do it: write your own test scenarios, copy the pre-existing request groups, or import data. Whichever way you choose, you will not need any preliminary experience or extra effort. You can see for yourself.

Create a Group Manually

To create a group manually, click + New thread group. The group will be added to the list. To add an action to the group, click the pencil icon which opens the editor.

A thread group is a group of requests that is executed by the system in a certain sequence. In other words, it can be called your test scenario. For instance, visiting your website, clicking the button, filling in the form, and other actions of your regular user are described as a sequence of requests with preset parameters (e.g., time between request execution).

A menu on the right of the editor’s window allows you to create new test elements. Simply use Drag & Drop to move the HTTP request or Transaction elements to the left. Use the pencil icon to edit the HTTP request.

Creating a test PFLB platform 1

You can set up particular actions for PFLB to execute during the test by editing the HTTP request. Click the green field and select the HTTP method from a drop-down list: Get, Post, Put, etc. Then, add the request URL.

Creating a test PFLB platform 2

You can also set up a range of parameters for any request by using the tabs under the address bar:

  • Query parameters — additional arguments to be added to the request;
  • Headers — request header;
  • Body — the main body of the request;
  • Extract from response — values that PFLB extracts from the response to the request, e.g., a session key;
  • Timers — parameter that is responsible for a delay before repeating the request. The default setting is 8 seconds, but you can choose any other constant or random value or completely disable the timer.
Creating a test PFLB platform 3

For each group, you can set up additional parameters of flow control, such as for each, if, loop, or while. This is how you create one or several test scenarios.

Creating a test PFLB platform 4

Import Groups

You can also create test scenarios based on data on requests or transactions collected by third-party applications or services. In such cases, groups will be created automatically based on the criteria you set up. Then, you can edit scenarios in the same way that you edit those created manually.

To import groups data, click Import in the lower right corner of the screen, choose a tab that corresponds to the type of data you are importing, and click the button to choose the file to upload.

PFLB supports data from the following sources:

  • JMX File —data on requests and transactions collected by JMeter;
  • HAR file — an archive file format for logging of a web browser’s interaction with a site;
  • Insomnia collection — data on requests and transactions collected by Insomnia API;
  • Postman collection —data on requests and transactions collected by Postman API;
  • Google Analytics — data on requests sent to your website collected by Google Analytics.
Creating a test PFLB platform 5

Copying Groups

If you have pre-existing groups of requests, you can base the new ones on them. Just use the copy icon in the group you need. You will then be able to edit any parameters in the new group and add or delete requests and transactions.

Additional Settings

Choose Load Generators Location

By default, you can simulate the load only from N. Virginia, but if you have an active subscription plan you can pick another region. Due to PFLB integration with Amazon Web Services (AWS), you can choose from one of the regions depending on where your customers are located. If you’re interested in gathering more data from Amazon, you might find this guide on how to scrape Amazon useful.

  • Asia Pacific — Mumbai
  • Asia Pacific — Tokyo
  • Europe — Frankfurt
  • Europe — Ireland
  • US East — N. Virginia
  • US West — N. California

To do so, select one of the following in the drop-down list:

  • 01 Automatic
    The region will be set to default.
  • 02 AWS region
    Choose one of the regions provided by AWS

Set SLA

Test scenarios are grouped into projects, and their results can be tracked via different metrics. For each of them, you can set service level agreement (SLA) – specific criteria that are used to evaluate website performance. For example you can set a condition that the error rate must be less than 5%. Just click SLA and set the parameters for transactions, requests, or the whole test.

Additional settings PFLB platform 1

Here is the list of metrics for which you can set SLAs:

  • Average response time — average time it takes the system to respond to a request or a transaction;
  • Error rate — a rate of errors for transactions (excluding requests), requests (excluding transactions), and the total for the whole test;
  • Percentile 95 — a value that exceeds the time of completion food 95% of requests, transactions, or tests;
  • Request per second — the number of requests per second.
Additional settings PFLB platform 2

At the end of the test specified SLA will be calculated automatically and can be accessed on the results screen.

Specify Project Parameters

To make the test more relevant, you can add further parameters for the traffic. For example, incorporate a data pool with users’ credentials to load test-secured endpoints. PFLB supports literal parameters and comma-separated values (CSV).

To add a literal parameter:

  • 01
    Open the Thread groups tab and click + in the lower-right corner of the screen.
  • 02
    Select Parameters. A new window will open.
  • 03
    Type the name of the parameter in the Parameter Name.
  • 04
    Set the value of the parameter in the Parameter Value.
pflb platform specify project parameters 1

To add a CSV parameter:

  • 01
    Open the Thread groups tab and click + in the lower-right corner of the screen.
  • 02
    Select Parameters. A new window will open.
  • 03
    Go to the Import from CSV.
  • 04
    Click the related field to upload a CSV file. The file can contain one or more columns and its size shouldn’t exceed 50 MB.
pflb platform specify project parameters 2

Configure Load Profile

A load profile in performance testing refers to the pattern of usage or traffic that is expected to be generated on a system during normal or peak load periods. It includes such metrics as the number of concurrent users, the frequency and type of user transactions, the duration of user sessions, and expected data volumes. Load profiles are used to design and execute performance tests that simulate real user behavior and workload on the system under test.

To parameterize this process, choose the Load Profile section in the main test window or set preferable options for each group on the previous tab. Depending on your service plan, you can choose stable or scalable load distribution. The first one is more suited for comparison purposes and the second is to determine maximum system capacity. To configure the load profile, use such metrics as test duration, number of users, time to planned load, and time to zero load.

Configure Load Profile

Running the Test and Analyzing the Results

Now that you have created your test, it is just about time to start the evaluation of your website performance. Tick that you agree with the terms and conditions, click Run test, and wait a moment while load generators will deploy in the cloud.

After having started the test, you can follow up on its execution in the Running Tests section situated in the main menu on the left. You will find the data on the site’s number of virtual users, test duration, response time, requests per second, etc.

Running a test PFLB platform 1

Grafana Dashboards

Once the testing is done, you can view the test’s progress and results visualized using Grafana, which is integrated into the PFLB. There are three types of dashboards available:

  • 01
    Main dashboard with test metrics;
  • 02
    Dashboard for comparing the results of two tests;
  • 03
    Dashboard with system metrics. This graph can be displayed only if you have created settings set and configured Telegraf agents.

To view the data during test execution, open the Running Test page and click Detailed stats or Detailed system metrics.

pflb platform grafana dashboards

If you want to compare tests:

  • 01
    Open the All tests page;
  • 02
    Select the checkboxes for the two tests which you want to compare;
  • 03
    Click Compare tests.

If You Have any Further Questions

In this text, we have only shared the very basics of using PFLB and its main settings. We hope to have given you an idea of how easy it is to start performance testing of your website. However, creating an ideal test designed particularly for your website needs is a creative process that sometimes requires a professional performance testing team or a subtle and wholesome configuration.

Although our platform is user-friendly, it has every necessary function you may need to have full control over the testing process. To learn more about the testing platform and its features, please visit the Documentation section.

Table of contents

Related insights in blog articles

Explore what we’ve learned from these experiences
14 min read

TOP 10 Best Online Load Testing Tools for 2024

best online load testing tools preview
Nov 7, 2024

In this article, we will go through our favourite features of each of these cloud-based load testing tools, while in the end you will find a parameterized comparison of all of them in one table.

10 min read

Essential Guide to ITSM Change Management: Processes, Benefits, and Tips

Essential Guide to ITSM Change Management
Oct 15, 2024

ITSM change management is essential for managing and implementing IT changes smoothly. It focuses on minimizing risks and aligning changes with business goals. In this guide, we’ll explore what ITSM change management entails, discuss its benefits, and provide practical tips for implementation. Key Takeaways What is ITSM Change Management? ITSM change management is a key […]

7 min read

SRE Roles and Responsibilities: Key Insights Every Engineer Should Know

sre roles and responsibilities preview
Sep 11, 2024

Site Reliability Engineers (SREs) are crucial for maintaining the reliability and efficiency of software systems. They work at the intersection of development and operations to solve performance issues and ensure system scalability. This article will detail the SRE roles and responsibilities, offering vital insights into their duties and required skills. Key Takeaways Understanding Site Reliability […]

11 min read

Understanding Error Budgets: What Is Error Budget and How to Use It

understanding error budgets what is error budget and how to use it preview
Sep 10, 2024

An error budget defines the allowable downtime or errors for a system within a specific period, balancing innovation and reliability. In this article, you’ll learn what is error budget, how it’s calculated, and why it’s essential for maintaining system performance and user satisfaction. Key Takeaways Understanding Error Budgets: What Is Error Budget and How to […]

  • Be the first one to know

    We’ll send you a monthly e-mail with all the useful insights that we will have found and analyzed