Getting Started
  Introduction
  What is ASP.NET?
  Language Support

ASP.NET Web Forms
  Introducing Web Forms
  Working with Server Controls
  Applying Styles to Controls
  Server Control Form Validation
  Web Forms User Controls
  Data Binding Server Controls
  Server-Side Data Access
  Data Access and Customization
  Working with Business Objects
  Authoring Custom Controls
  Web Forms Controls Reference
  Web Forms Syntax Reference

ASP.NET Web Services
  Introducing Web Services
  Writing a Simple Web Service
  Web Service Type Marshalling
  Using Data in Web Services
  Using Objects and Intrinsics
  The WebService Behavior
  HTML Pattern Matching

ASP.NET Web Applications
  Application Overview
  Using the Global.asax File
  Managing Application State
  HttpHandlers and Factories

Cache Services
  Caching Overview
  Page Output Caching
  Page Fragment Caching
  Page Data Caching

Configuration
  Configuration Overview
  Configuration File Format
  Retrieving Configuration

Deployment
  Deploying Applications
  Using the Process Model
  Handling Errors

Security
  Security Overview
  Authentication & Authorization
  Windows-based Authentication
  Forms-based Authentication
  Authorizing Users and Roles
  User Account Impersonation
  Security and WebServices

Localization
  Internationalization Overview
  Setting Culture and Encoding
  Localizing ASP.NET Applications
  Working with Resource Files

Tracing
  Tracing Overview
  Trace Logging to Page Output
  Application-level Trace Logging

Debugging
  The SDK Debugger

Performance
  Performance Overview
  Performance Tuning Tips
  Measuring Performance

ASP to ASP.NET Migration
  Migration Overview
  Syntax and Semantics
  Language Compatibility
  COM Interoperability
  Transactions

Sample Applications
  A Personalized Portal
  An E-Commerce Storefront
  A Class Browser Application
  IBuySpy.com

  Get URL for this page

Performance Overview

Feature-rich web applications are not very useful if they cannot perform well. The demands of the Web are so great that code is expected to do more in less time than ever before. This section describes some key principles of Web application performance, tips for writing code that performs well, and tools for measuring performance.

ASP.NET provides a number of built-in performance enhancements. For example, pages are compiled only once and cached for subsequent requests. Because these compiled pages are saved to disk, even a complete server restart does not invalidate them. ASP.NET also caches internal objects, such as server variables, to speed user code access. Further, ASP.NET benefits from all of the performance enhancements to the common language runtime: just-in-time compiling, a fine-tuned common language runtime for both single- and multiprocessor computers, and so on.

However, all of these enhancements cannot protect you from writing code that does not perform well. Ultimately, you must ensure that your application can meet the demands of its users. The next section describes a few of the common ways to avoid performance bottlenecks. However, first you need to understand the following metrics:

  • Throughput: The number of requests a Web application can serve per unit of time, often measured in requests/second. Throughput can vary, depending on the load (number of client threads) applied to the server. This is usually considered the most important performance metric to optimize.

  • Response Time: The length of time between the issuance of a request and the first byte returned to the client from the server. This is often the most perceptable aspect of performance to the client user. If an application takes a long time to respond, the user can become impatient and go to another site. The response time of an application can vary independently of (even inversely to) the rate of throughput.

  • Execution Time: The time it takes to process a request, usually measured between the first byte and the last byte returned to the client from the server. Execution time directly affects the throughput calculation.

  • Scalability: The measurement of an application's ability to perform better as more resources (memory, processors, or computers) are allocated to it. Often, it is a measurement of the rate of change of throughput with respect to the number of processors.

Writing applications that perform well is all about striking a balance between these metrics. No single measurement can characterize how your application will behave under varying circumstances, but several measurements taken together can paint a reasonable picture of an application's performance.


Copyright 2001 Microsoft Corporation. All rights reserved.

GoToMyPC | ASP.NET Knowledge Base