The Best Ways to determine Load Patterns

During my career as a performance engineer, I worked in several performance testing exercises.  You can imagine that I experienced all kinds of challenges regarding estimation and simulation of realistic load patterns. There are some pitfalls which you should avoid.

Initially, you have to clarify whether you’re going to test a brand new system or if it’s already in production. The correct pattern for the latter can easily be derived, but the former is, of course, more challenging.

A brand new application

Let’s assume you are going to prepare a workload for a new business application. You have no reference system or production environment where real users are doing day-to-day activities. All that your customer told you is how many users are going to use this business application in the future. How many concurrent users will you simulate?

I use little’s law in such cases because this allows you a realistic calculation.

Little’s law: Latency = Load / Throughput

Latency: Session time of your use case or business transaction

Load: Concurrent user

Throughput: Expected number of business transactions per interval

Latency and Throughput are often part of non-functional requirements.Let’s calculate the load or concurrent user for this example:

Number of users: 1000 user will work with the new application
Latency: 30 seconds for a typical business transaction
Throughput: 600 transactions per hour
Load: 30 * (3600/600) = 180 concurrent user

Given the sample above you can schedule a performance test with 180 concurrent users. There is absolutely no need to run a test with 1000 concurrent user because those will most likely never use this application at the same time.

An already in production application

Well, you can take the real user monitoring statistics and derive the required figures such as concurrent users per interval, the number of business transactions or realistic session times. Don’t forget to account growth rates and schedule current regular, current peak and future growth test runs.

If you follow my advice, I promise that you will calculate realistic workloads in the future. I am looking forward regarding your experience with load patterns.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.