Concurrent users vs. concurrent loads in stress test

In stress test, we are often confused on concurrent loads with concurrent users. The question is “Should I conduct stress test based on concurrent users or concurrent loads?”.

Google Analytics provides a wealth of information about user and traffic statistics on website. Here is a GA dashboard of page peak usage statistics.

ccusers

Formula of converting Pageviews Per Hour to Concurrent Users:

Concurrent_users = (Hourly_views * Time_on_page_by_second) / 3600

According to above GA statistic of the page peak usage, here is the base information for load test:

Page Views: 15000 per hour
Avg. Time On Page: 73 second
Concurrent Users: 15000 * 73 / 3600 = 305

Below is another GA report which was actual heartbeats during the peaks of the site. It can give us the answers to “how many requests, users to use for our load test?”. The information presented in the first row of charts includes three data points that are EXTREMELY useful to calibrating our load test against real world data.

pvstats

Active Visitors: How many users are clicking around the site, where a visitor is considered active if they are doing something (navigating, clicking items that generate tracking events, etc.) within a 30 minute sliding window. At peak times, this can give us rough feel for what the peak number of concurrent could look like in the pathological case (where they are all 100% active at the same time). In the screenshot, there were 718 visitors actively using the site. We might consider this number as the maximum number of clients, but Page Views per Second (described below) may offer us more insight.

Page Views per Minute: This chart can give us an aggregate sense on the speed with which visitors were navigating between pages on the site. It’s useful to get a sense over a 30 minute window of how “bursty” user’s access patterns are, and if it looks fairly even (as it does in our screenshot) provided good evidence for testing with a continuous load pattern.

Page Views per Second: This is the real heartbeat, what we see as a trend here can tell us about how many requests per second we should be able to support. In the screenshot, They are showing between 5-10 page views per second, only once jumped to 15 — not a very high number considering we have around 718 users (which is a good example of how Active Visitors may overstate the real load if we treat it as true concurrent load). If we want to test this load, we would, by trial and error, run tests adjusting the number of clients so that we see between 10-15 requests per second.

So the conclusion of correct stress test approach I think should be, based on concurrent loads instead of users, set a certain stress with a proper load then run for a given time period, which will best simulate the real world scenarios.

This entry was posted in Information Technology, Website Performance and tagged , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s