One of the requirements when configuring a load test is setting up your test plan to include, or reflect, real-world user traffic conditions. This means simulating the most realistic number of concurrent users at the target resource during the test. Not only is this important for understanding how your website or system responds under normal or peak traffic conditions, but it will also provide you with the most relevant test results that can be used later to determine if any upgrades or investments in hardware are necessary.

Looking for performance testing tips and planning resources? Visit our blog for additional resources and articles.

What are Concurrent Users?

Concurrent users represent how many users will visit your website and perform specific transactions over a specified amount of time. For example, you might have any number of website visitors all interacting with your site, but in different ways. Some may be browsing product pages, some may be reading blogs, some may be checking out, etc., but they are not necessarily carrying out these transactions at the exact same time. These would be considered concurrent users. In terms of performance testing, you can think of this as the duration of the test.

On the other hand, simultaneous users are all users completing the same step of a transaction, or code, at the same point in time. If we consider the previous example for concurrent users, you might have a bunch of users utilizing your site in different ways, but when all the users begin carrying out the same activity at the same time, they become simultaneous users. While having all users carrying out the same tasks at the same time is rare in real-world scenarios, it is beneficial for stress testing applications and sites to see what their breaking points are (and while this can be done with open-source performance testing tools like JMeter, it’s better accomplished with more robust and flexible tools like LoadView).

How to Determine Concurrent Users

There can be a lot of small, but important considerations to make when it comes time to carry out performance tests. Being able to take the guesswork out of some of these considerations, such as how to determine concurrent users, will save you time and provide you with better test result data.

Web analytics tools, such as Google Analytics, can be a great resource in order to determine relevant traffic data, such as user visits statistics and duration of sessions on a website. It’s a lot easier than having to manually comb through and review server log data, which not a lot of people have access to, nor know how to read.

Fortunately, today’s website analytics tools are a much more user-friendly method to determine concurrent users. For a lot of teams, Google Analytics is the go-to tool for measuring and observing website traffic, as well as tying conversions to revenue. However, for those not familiar with Google Analytics, it can initially be difficult to determine the exact number of concurrent users on your website. You can see hundreds of visits per hour in the analytic report, but the site may have only two concurrent visitors at the time, as shown in the Google Analytics image below.

 

For the purposes of this article, we will show how to use a Google Analytics report to determine the number of concurrent visitors for a website.

Using Web Analytics to Calculate Concurrent Users

Google Analytics, as well as some other web analytics tools, can provide you with the Sessions metric for your website. This metric can be refined by a specific time interval, such as hour, day, week, or month. has per a regular time interval. In addition to viewing the Sessions count, you will also see other metrics, like total Users, New Users, Pageviews, Pages per Session, Bounce Rate, and the Average Session Duration for the selected interval. To translate these metrics into concurrent users, you need to find Hourly statistics (Google Analytics > Reporting > Audience > Overview > Hourly) and get Sessions and Avg. Session Duration for the same time frame.

For LoadView calculations, all times are defined in minutes.

Use the following formula to estimate the number of concurrent users:

Concurrent users = Hourly Sessions x Avg. Session Duration (in minutes)/60 

For the analytics data provided in the image above, the number of concurrent users can be calculated as follows:

Concurrent users = 7,727 x (9 sec/60)/60 = 19 concurrent users

While the average traffic statistics can work well to set up a realistic test, it is more significant to use statistics of peak traffic periods to configure a test.

For example, during peak hours of traffic, your site analytics shows the peak number of Sessions per hour equal to 1,000 sessions. Let’s say the Avg. Session Duration value for the interval is five minutes.

In this case, the number of concurrent users that should be simulated to create 1,000 visits per hour is:

Concurrent users = 1,000 x 5/60 = 83 concurrent users

Using Custom Parameters to Calculate Concurrent Users

If you don’t have web analytics data, you can use the expected number of user visits to calculate the number for concurrent users:

Concurrent users = Number of expected visits per minute * Visit Duration (in minutes)

Example:

Let’s say we expect 100,000 users to visit our website every day. This is equal to 100,000/24 = 4,166.66 per hour. For this example, we’ll approximate that number to 4,200 per hour.  Next, to find the number of visits per minute, we take 4,200/60 = 70 visits per minute. If the predicted visit duration is 30 seconds (or 0.5 minutes), the number of concurrent users that should be simulated to create 70 visits per minute is:

Concurrent users = 70 x 0.5 = 35

This means a single virtual user can run two sessions per minute (1 minute/0.5 minutes = 2 sessions per minute). In this case, we need LoadView to simulate 35 virtual users to emulate 70 visits to the target website for a minute.

Determining Concurrent Users: Just One Piece of the Puzzle

Determining concurrent users is just one of the many factors to consider when designing your load tests, which is why it is a great idea to create a load testing checklist that you can refer to when carrying out your tests. A checklist can be useful for a variety of reasons, like helping to better define your requirements and testing approach, as well as setting responsibilities and strategies within your own organization. Having a record of your test plan can help refine future tests and benchmarks and reduce the setup times.

The LoadView solution removes the costly overhead and time-consuming considerations, such as having to invest in and maintain server farms to generate load, and leaves the important items, like creating, configuring, and executing tests, to you. No matter the size of your organization, you want to be sure your systems can manage peak, and beyond peak traffic conditions, without impacting a user’s experience. For a comprehensive load testing requirements checklist and tips for setting up and configuring your test, read our Load Testing Preparation Checklist blog article.

Need help setting up your load tests? Our support team is available 24/7 to answer your questions, no matter where you are in the performance testing process. You can contact LoadView support through a variety of options, including phone, email, chat, or submit your question via the form.

Performance Testing to Performance Monitoring

Once your website or application has gone through the performance testing process and been pushed to production, it’s recommended to continually monitor for performance, uptime, and availability. There has been a huge investment made in creating and ensuring your website or application can perform under stress, now go to the next step and make sure to monitor your websites and applications 24/7 from locations around the world.

Don’t count on your users or internal employees to notify you when they are encountering website or application performance issues. If they do, then the issue has probably been occurring long enough to impact a much larger audience. Setting up and configuring monitoring ensures you know about errors before your users do, so you and your teams can troubleshoot errors before they, or more users, are impacted. Not only that, monitoring also ensures all the third-party resources your sites and applications use are performing as intended.

The Dotcom-Monitor platform provides monitoring solutions for all your website performance needs. Real browser-based monitoring provides insight into performance just as your users experience it. Reports and dashboards provide comprehensive detail into performance and waterfall charts provide a deep dive into individual elements and components. Visit our homepage for more information and resources about the Dotcom-Monitor platform, solutions, and features.