Locked History Actions

LoadTesting

Performance Load Testing

Before you even think about load testing your web application you should have a target/goal for what it is you want to achieve in terms of concurrent users and the response time for the resources (e.g. web pages) those users will be accessing. Without this, even if you are able to measure something about your system, you won't know how to evaluate your results. In order to have a pass/fail for your performance test, you need to have a goal to measure against.

Calculating The Goal

This article has a good explanation of how to go about calculating concurrent peak users and concurrent usage. In a nutshell you must start with some assumption around how many users will access the web application for a given time period. For internal/intranet application this might be all your employees that would make use of a time reporting application. For public web sites this is more difficult, but your application sponser/customer should have some idea of who their target user base is.

Number of Users

Start with your expected number of users per unit time. For example 1000 users/day. Then bound this with the window of time that the users will likely use the application. For most applications you cannot assume that their application usage will be spread across a full 24 hour window. For a internal business application it will be likely be something like 8 or 10 hours depending upon your company schedule. For public web applications it might be something longer like 12 or 14 hours - perhaps more depending upon how your users are spread geograhpically, especially if they are spread across time zones. Take these into account. Below is an example.

Users per day = 1000 User / day


You may need to include a fudge factor here like the article does.

Next limit this value to your expected time window and convert this to smaller time units such a minutes or seconds so that the value make sense in terms of session and or transaction times (which are likely not represented in smaller units of time).

Users per minute = 1000 User / day * 1 day / 10 hours * 1 hour / 60 minutes = 2 (rounded up to a while number)

Remember to make any adjustments based on how you think usage is spread across time - here we assume an even distribution of usage across time - this may not be a good assumption. For example if this were a time reporting/tracking applciation the window is likely made up of smaller windows of time (1 hour ) at the beginning and the end of the day. You must take these sort of impacts into account in the calculations.

Concurrent Transactions

I'm trying to work some of the content from these links into this page/article

Performance Counters


CategoryAspDotNet20