Go back to all articles

Creation of the Load Testing Profile

Jun 27, 2020
5 min read

Load profile is a set of operations and their intensity, chosen in such a way, that together they create a load comparable to the production load.

Load testing preparation is one of the most important steps in the load testing.

An incorrect load profile generates testing results that are not related to the production.

We recommend to begin the load testing preparation by considering the testing goals, such as:

  • determining the maximal production load – you’ll need to prepare the load profile that maximally loads the system.
  • evaluating how certain processes influence the system – it’ll be needed to prepare a load profile for the period, when the processes are running on production; their influence is tracked not the whole system, but to the operations that communicate to the inspected processes.
  • determining the operations that will be most difficult to optimize later – first the operations-candidates need to be considered, then one needs to prepare one or more load profiles to audit them.

and so forth.

load profile

Table of Contents

  1. Collecting statistics
  2. Statistics analysis
  3. Comparing the load profile to the previous one

Collecting statistics

Time range

When choosing the time range for the analyzed statistics, you’ll need to include several productive load cycles to it – they will make it possible to determine the typical load. We recommend using the statistics for the period smaller than a month.

The time range should not be too big: if you’ll take the statistics for half a year, the final load profile will display the average load for the whole period, which is not correct when the load level is constantly rising. Apart from that, a big amount of data will make the analysis more difficult.

You’ll need to take into account that the load differs between the months: in December the load is normally higher, but in January and May there are many public holidays in Russia. Therefore the statistics for these months may not be as informative. In this case we recommend to compare it to the statistics for the next and previous months to evaluate the deviation. Alternatively, it’s possible to enlarge the analyzed period.

Aggregation

Normally the operation intensity is aggregated every hour (in case that the intensity is more than 100 operations per hour)

Statistics analysis

Days to choose for the load profiles

Most systems have got more and less loaded periods:

  • day and night
  • weekdays and weekend
  • days of the week (on Monday the load is often higher than on Friday)
  • the load can be performed on certain days of the month
  • or in a custom way, such as on the first Thursday of the month

It’s necessary to determine days with the typical load for the desired load profile.

It is the set of days when the load is similar and as high as possible. The amount of selected days should be enough to form a typical load.

For example, one day in a month with much different load looks untypical and can’t be taken as load profile base – even when the load during this day is the highest.

But when there are several such days and the system implies that in certain days the load is the highest – then the profile should be based on these days.

Load testing profile

Internet rush-hour and the corresponding time range

For the chosen days we divide operations to average out the operation intensity for each hour.

The load profile base is the Internet rush hour – the hour, when the sum load for operation is maximal.

It’s necessary to evaluate the time range, when the relations between operations is similar to the rush hour. This period will be covered by the load profile. For the remainder of the time we need to create a separate load profile.

If the load profile is aimed to analyze certain operations, it’s recommended to make sure that the chosen days and hours have the maximal intensity in respect of the operations.

And the other way round, not very important operations that are highly intensive should be discarded.

Choosing operations to include in the load profile

Based on the operation intensity for the chosen rush hour we need to choose a set of operations to include in the load profile.

  • To begin with, it’s advised to set the load profile precision. Normally it is about 90% or more.
  • It means that one needs to sort the operations in the descending order of intensity and include those of them in the load profile that in sum are producing not less than 90% of load.
  • It’s important to understand that not the percentage coming from each operation is important, but rather the sum percentage from selected operations. There can be operations in the load profile that compound less than 1% from the total load).
  • The following operations can be included in the load profile even though they are not as precise as required:
  • Critical operations – operations that should be included in the load profile independent from their intensity, because they are crucial for business and influence the system work.

If it is known that the main load on the operations happens on certain days/hours, we advise to make sure that these hours are included in the analysis. One may create the load profile based on these hours.

  • Operations whose inclusion in the load profile doesn’t require any resources.

Determining the operation intensity in the load profile

  • The intensity of each operation should be enough to perform the operation on each test step many enough times to verify the corresponding requirements.

Determining the operation intensity in the load profile

As a result of the previous steps we’ve compiled a list of operations and the time range for system work that will be covered by the load profile. We include the highest intensity for each operation for the time range covered by the load profile to the final load profile. After that we evaluate how well the resulting profile covers the intensity of the rush hour. The allowed value is about 10%. In case the allowed value is overtaken, it’s required to correct the time range covered by the load profile.

It follows that the final profile emulates the highest possible load.

Batch and atomic operations

Some operations can be performed atomically, as well as sequentially. For example, in the banking domain after registering a client an account is created. The batch operations can form a load different from performing the operations atomically. In such a case we first determine the needed intensity for the batch operations from the composed profile and then give the rest of the intensity atomically.

load testing

Comparing the load profile to the previous one

After creating the profile it’s advised to compare it to the previous profile if one is present.

The profiles are compared in the following way:

  • Comparing the amount of operations
  • Comparing intensities for each operation in the load profile

(it’s performed after taking the old load profile to the level of the new load profile: intensity of each operation from the old profile is multiplied to such a coefficient that the amount of the old profile operations equates to the amount of new profile operations.

The frequency of load profile update

The necessity to update the profile depends on changing load on the testing system. It’s recommended to update the load profile once in a quarter.

Table of contents

Related insights in blog articles

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

Roles and Responsibilities of Performance Tester

performance testing roles and responsibilities in a nutshell
Apr 9, 2024

The core of efficient performance testing is an experienced, certified and well-structured team of professionals, who have already worked in similar projects, and learned all the peculiarities of QA testing types, and protocols.  If consciously chosen, they can evaluate a product, test its behavior under a load, check its response time, etc., and thus, empower […]

11 min read

Tips for Efficient Web Application Performance Testing

tips for efficient web application performance testing
Apr 4, 2024

Performance testing is one of the most challenging components of web application testing. But it is worth it: if done right, performance testing can forecast product behavior and its response to user’s actions with an impressive amount of detail and precision. Irrelevant web performance test data or wrong metrics chosen during testing cost companies a lot of money and effort, while not monitoring your web application performance at all can lead directly to a crash, say, on Black Friday, if you are not prepared to handle an increased number of concurrent users. Business or product owners needn’t know exactly how to performance test a website, but it’s useful to have a basic understanding of procedures that you pay for. From this post, you can learn what web application performance testing is, when it should be done, and how. Then, you will be able to make an informed choice whether to hire testing specialists or run testing sessions on your own.

15 min read

Top Tools for Developers in 2024

top developers tools
Apr 2, 2024

The ratings of the best software development tools are time-sensitive: new tools emerge every now and then. Monitoring and mastering them is a full-time job, and sometimes a waste of time, too, since some oldies but goldies remain chosen by the team.  Having done all the hard choices for you, we are sharing our list […]

4 min read

Big Data Europe 2024

software testing conferences preview
Mar 22, 2024

Big Data Conference Europe is a four-day conference with technical talks in the fields of AI, Cloud and Data. The conference will take place both on-site and online, providing the opportunity for everyone to participate in their preferred format.

  • Be first to know

    Once a month we’ll be sending you a letter with all the useful insights that we could find and analise