2. Overview
• Performance Tuning Considerations in ASP.Net
• Performance Tuning Tips in ASP.Net
• Common Performance Issues
• Best Practices for Performance Testing
• Sample Questions
3. PerformanceTuningConsiderationsin ASP.Net
Decisive factor in web applications development is
performance
Solutions
1. Paging through Records
2. Turn off Session State
3. Turn off View State
4. Use Caching
5. Use IsPostBack
6. Use DataSources
4. PerformanceTuningTipsinASP.Net
Ways to avoid performance bottlenecks in your code.
1. Disable Session State when not in use
2. Choose your Session State provider carefully
3. Avoid excessive round trips to the server
4. Use Page.IsPostback to avoid extra work on a round trip
5. Use server controls sparingly and appropriately
6. Avoid excessive server control view state
5. PerformanceTuningTipsin ASP.Net
Ways to avoid performance bottlenecks in your code(Contd).
7. Use Response.Write for String concatenation
8. Do not rely on exceptions in your code
9. Use early binding in Visual Basic or JScript code
10. Port call-intensive COM components to managed code:
11. Use SQL stored procedures for data access
12. Use SqlDataReader for a fast-forward, read-only data cursor
13. Cache data and output wherever possible
14. Enable Web gardening for multiprocessor computers
15. Do not forget to disable Debug mode
8. PerformanceTesting
• Performance Testing is the process of identifying how
an application responds to a specified set of conditions
and input.
• Multiple individual performance test scenarios (suites,
cases, scripts) are often needed to cover all of the
conditions and/or input of interest.
9. PerformanceObjectives
• Response time or latency.
• Throughput
• Resource utilization (CPU, network I/O, disk I/O, and
memory)
1. Latency measured at the server
2. Latency measured at the client
• Workload
10. Tools
• Can simulate load in terms of users, connections, data,
and in other ways
• Helps you gather performance-related metrics such as
response time, requests per second, and performance
counters from remote server computers
11. Tools
• Microsoft Application Center Test (ACT)
The ACT tool is included with Enterprise editions of
Visual Studio .NET.
• Microsoft Web Application Stress
You can download the Microsoft Web Application Stress
Tool at
http://www.microsoft.com/technet/itsolutions/intrane
t/downloads/webstres.mspx.
12. ThirdParty tools
• Mercury LoadRunner
• Compuware's QALoad
• Rational's Performance Tester
• Custom tools developed for your application.
13. Best Practices for Performance Testing
Dos while performing performance testing:
1. Clear the application and database logs after each
performance test run. Excessively large log files may
artificially skew the performance results.
2. Identify the correct server software and hardware to
mirror your production environment.
3. Use a single graphical user interface (GUI) client to capture end-
user response time while a load is generated on the system.
4. Include a buffer time between the incremental increases of users
during a load test.
14. Best Practices for Performance Testing
Dos while performing performance testing(Contd):
5. Use different data parameters for each simulated user
to create a more realistic load simulation.
6. Monitor all computers involved in the test, including
the client that generates the load.
7. Prioritize your scenarios according to critical
functionality and high-volume transactions.
8. Use a zero think time if you need to fire concurrent
requests,. This can help you identify bottleneck issues.
9. Stress test critical components of the system to assess
their independent thresholds.
15. Best Practices for Performance Testing
Don’ts while performing performance testing(Contd):
1. Do not allow the test system resources to cross
resource threshold limits by a significant margin during
load testing, because this distorts the data in your
results.
2. Do not run tests in live production environments that
have other network traffic.
3. Do not try to break the system during a load test. The intent of
the load test is not to break the system.
4. Do not place too much stress on the client test computers.
16. SampleQuestions
If the SQL script uses one of the following, performance of the script will
degrade.
• Stored Procedure
• View
• User Defined Function
• Cursors
What needs to be done to improve the performance of an ASP.NET page?
• Turn off view state
• Turn off Session state
• Use Caching
• All of the above