HOW TO: Tune and Scale Performance of Applications That Are Built on the .NET Framework

Article translations Article translations
Article ID: 818015 - View products that this article applies to.
This article has been archived. It is offered "as is" and will no longer be updated.
Expand all | Collapse all

On This Page

SUMMARY

This step-by-step article describes important considerations for performance tuning and scaling of applications that are built on the .NET Framework. This is one of a series of articles that provide detailed information for applications built on the .NET Framework.

The articles in this series include the following:
818016 HOW TO: Deploy Applications That Are Built on the .NET Framework
818013 HOW TO: Support Applications That Are Built on the .NET Framework
818015 HOW TO: Tune and Scale Performance of Applications That Are Built on the .NET Framework
818014 HOW TO: Secure Applications That Are Built on the .NET Framework

Configure Sessions for ASP.NET Applications

ASP.NET applications include sophisticated support for tracking user information between multiple requests. To enable applications to scale to thousands of users, you can store sessions in many flexible ways. The default method is to store session information in-process. This stores user information in the memory of a single server. The in-process method offers the fastest performance. Two other methods offer slower performance but greater scalability: storing session information on a state server, or storing session information on a computer running SQL Server.

For additional information about how to configure ASP.NET sessions by using any of the three standard methods, click the following article number to view the article in the Microsoft Knowledge Base:
317604 HOW TO: Configure SQL Server to Store ASP.NET Session State


Set the Timeout Period for ASP.NET Sessions

Depending on the application, ASP.NET sessions can use a lot of memory. When the user load and the quantity of information that is stored about each user increases, memory-constrained systems may experience performance problems. One way to reduce the memory that sessions require is to shorten the time that sessions are stored. When you reduce the session timeout period, session information is discarded before the default 20-minute idle period. Alternatively, when you increase the session timeout period, users can return to an active session without losing their logon information, their shopping cart contents, or other session-specific details.

For more information about how to set the timeout for a session state, visit the following Microsoft Web site:
http://msdn2.microsoft.com/en-us/library/h6bb9cz9(vs.71).aspx

Test ASP.NET Applications and Web Services by Using the Web Application Stress Tool

The Web Application Stress (WAS) tool is useful for testing Web application performance and scalability. You can use this tool for both ASP.NET Web applications and Web services. However, there are differences in how you use the WAS tool for each type of service.

For additional information about how to use WAS to test ASP.NET applications, click the following article numbers to view the articles in the Microsoft Knowledge Base:
815161 HOW TO: Measure ASP.NET Responsiveness with the Web Application Stress Tool
815160 HOW TO: Test ASP.NET Web Services with the Web Application Stress Tool

Use the Performance Administration Tool to Analyze Windows-based Applications That Are Built on the .NET Framework

The .NET Framework manages assemblies as they run. Therefore, the .NET Framework has access to a lot of information about each assembly. Much of this information is exposed through performance counters. As an administrator, you can gain access to these counters by using the Performance administration tool.

You can gain access to more information about ASP.NET applications than is available from standard Windows-based applications that are built on the .NET Framework. There are dozens of counters that you can monitor. However, most administrators must understand only a few of these counters.

For additional information about the most significant performance counters that the .NET Framework exposes, click the following article numbers to view the articles in the Microsoft Knowledge Base:
815158 HOW TO: Use the Performance Administration Tool to Analyze Performance of .NET Framework-based Windows Application

815159 HOW TO: Analyze ASP.NET Web Application Performance by Using the Performance Administration Tool

Set Up Multiserver ASP.NET Web Applications and Web Services

Web applications may have to scale beyond a single server to meet performance, scalability, or reliability requirements. There are several unique factors to consider when you scale an ASP.NET application to multiple servers.

For additional information about how to scale an ASP.NET application to more than one server, click the following article number to view the article in the Microsoft Knowledge Base:
815162 HOW TO: Set Up Multi-Server ASP.NET Web Applications and Web Services

Disable Debugging for ASP.NET Applications

During development and troubleshooting, developers may enable debugging on an ASP.NET application. Although debugging offers much useful information to developers, it significantly affects the performance of the application. You may have to disable debugging on systems that have had debugging unnecessarily enabled.

For additional information about how to disable debugging for ASP.NET applications, click the following article number to view the article in the Microsoft Knowledge Base:
815157 HOW TO: Disable Debugging for ASP.NET Applications

Restrict ASP.NET to Specific Processors in a Multiprocessor System

By default, an ASP.NET application uses all the processors in a system. This works well for most environments. However, if you are tuning performance on multiprocessor systems, you may have to restrict ASP.NET to one or more specified processors.

For additional information about how to restrict ASP.NET to specified processors on a multiprocessor system, click the following article number to view the article in the Microsoft Knowledge Base:
815156 HOW TO: Restrict ASP.NET to Specific Processors in a Multiprocessor System

REFERENCES

For more information about how to secure applications that are built on the .NET Framework, visit the following Microsoft Web sites:
http://msdn2.microsoft.com/en-us/netframework/aa497330.aspx
http://technet.microsoft.com/en-us/windowsserver/default.aspx


Properties

Article ID: 818015 - Last Review: February 27, 2014 - Revision: 4.5
APPLIES TO
  • Microsoft .NET Framework 1.0
  • Microsoft ASP.NET 1.0
  • Microsoft Internet Information Services 5.0
  • Microsoft ASP.NET 1.1
  • Microsoft .NET Framework 1.1
Keywords: 
kbnosurvey kbarchive kbweb kbperformance kbhowtomaster KB818015

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com