The document discusses load testing of ASP.NET web applications. It defines load testing as putting demand on a system to test its response under high loads. Load testing is important to ensure performance and functionality under real-world conditions and locate potential problems before users encounter them. The goals of load testing are to improve performance, scalability, and stability. Visual Studio Load Testing and loadimpact.com are tools that can be used for load testing ASP.NET applications. Visual Studio Load Testing provides extensive capabilities and is easy to use without additional tools. Scenarios contain tests and specify load patterns, mixes, and think times to simulate realistic workloads.
1. www.orbitone.com
Raas van Gaverestraat 83
B-9000 GENT, BELGIUM
E-mail info@orbitone.com
Website www.orbitone.com
Tel. +32 9 330 15 00
VAT BE 456.457.353
Bank 442-7059001-50 (KBC)
Wim Roegiers
16 February, 2010
Load Testing of ASP.NET Web Applications
2. 16 February, 2010
Load Testing of ASP.NET Web Applications
Load testing: Definition
Load testing is the process of putting demand on a system or
device and measuring its response.
When the load placed on the system is raised beyond normal
usage patterns, in order to test the system's response at
unusually high or peak loads, it is known as stress testing. The
load is usually so great that error conditions are the expected
result.
3. 16 February, 2010
Load Testing of ASP.NET Web Applications
Why load tests?
The failure of a web application can be costly
Assure performance and functionality under real world
conditions
Locate and resolve potential problems before it hits on the
users
We will get to know the maximum capacity the system can
handle
We can decide whether we should go for Hardware upgrades or
Performance tuning
4. 16 February, 2010
Load Testing of ASP.NET Web Applications
The goals of load testing
To Improve :
Performance To reduce the time necessary to execute a request. May involve
the optimization of methods, stored procedures, and transaction
lengths.
Scalability To exceed the number of concurrent users anticipated at peak
load in production. The number of concurrent users supported
should be proportional to the amount of hardware.
Stability To reduce component memory leaks and system crashes.
5. 16 February, 2010
Load Testing of ASP.NET Web Applications
Tools
Requirement: Very easy to set up and to use ( => no extra cost )
Several tools examined: Only Visual Studio Load Testing and
the site loadimpact.com have enough features
Quickly diagnose and resolve:
Load testing tools uncover application performance issues under load
and provide classic system monitoring to diagnose performance
bottlenecks in the underlying infrastructure. However, they generally
treat applications as a black-box. Consequently, load testing tools do
not deliver the information developers need to quickly diagnose and
resolve the performance issue in the application’s code.
6. 16 February, 2010
Load Testing of ASP.NET Web Applications
Loadimpact.com
With this online tool you can (only) measure the load time of a
page with different user loads
Example tests
http://loadimpact.com/result/construction.orbitone.com/VlaamseOp
era2007/default.orb-4b482f3b9b935caedb3484e46b8de714
http://loadimpact.com/result/www.denorbit.com-
6f2d1986218e19900ef3295db398d419
7. 16 February, 2010
Load Testing of ASP.NET Web Applications
Visual Studio: Load Testing
Extensive capabilities, easy to use, no additional tool required
Demo (Umbraco website)
8. 16 February, 2010
Load Testing of ASP.NET Web Applications
About Scenarios
Load tests contain scenarios, which contain Web tests or unit
tests.
A scenario is the container within a load test where you specify load
pattern, test mix, browser mix, and network mix.
Scenarios are important because they provide you with flexibility in
configuring test characteristics that allow for simulation of complex,
realistic work loads.
9. 16 February, 2010
Load Testing of ASP.NET Web Applications
About Load Patterns
The load pattern properties specify how the simulated user
load is adjusted during a load test. Team Edition for Testers
provides three built-in load patterns: constant, step, and goal-
based.
Constant: a user load that does not change during the load test
Step: a user load that increases with time up to a defined maximum
user load
Goal-Based: adjusts the user load based on performance counter
thresholds
10. 16 February, 2010
Load Testing of ASP.NET Web Applications
About Think Times
Think times are used to simulate human behavior that causes
people to wait between interactions