Developing High-Performance ASP.NET Applications


1. Disable session state when you are not using it.
2. Choose your session-state provider carefully.
3. Avoid unnecessary round trips to the server.
4. Use Page.IsPostBack to avoid performing unnecessary processing on a round trip.
5. Use ASP.NET server controls in appropriate circumstances.
6. Save server control view state only when necessary.
7. Leave buffering on unless you have a specific reason to turn it off.
8. Do not rely on exceptions in your code.
9. Use the common language runtime's garbage collector and automatic memory management appropriately.
10. If you have a large Web application, consider performing pre-batch compilation.
11. Recycle processes when running ASP.NET Web applications on Internet Information Services 5.0.
12. Adjust the number of threads per worker process for your application if necessary.
13. Use the HttpServerUtility.Transfer method to redirect between pages in the same application.
14. Make all modules in the request pipeline as efficient as possible.
15. Use early binding in Visual Basic .NET or JScript code.
16. Port call-intensive COM components to managed code.
17. Avoid single-threaded apartment (STA) COM components.
18. Use SQL Server stored procedures for data access.
19. Use the SqlDataReader class for a fast forward-only data cursor.
20. Choose the data viewing mechanism appropriate for your page or application.
21. Cache data and page output whenever possible.
22. For applications that rely extensively on external resources, consider enabling Web gardening on multiprocessor computers.
23. Be sure to disable debug mode.
24. Tune the configuration files for your Web server computer and specific applications to suit your specific needs.
25. Enable authentication only for those applications that need it. Like
a. Configure your application to the appropriate request and response encoding settings.
b. Consider disabling AutoEventWireup for your application.
c. Remove unused modules from the request-processing pipeline.

References:

  1. Developing High-Performance ASP.NET Applications ( http://msdn.microsoft.com/en-us/library/5dws599a(VS.71).aspx )
  2. ASP.NET Best Practices for High Performance Applications ( http://www.codeproject.com/KB/aspnet/ASPNET_Best_Practices.aspx )
  3. Improving ASP.NET Performance ( http://msdn.microsoft.com/en-us/library/ms998549.aspx )
    10 Tips for Writing High-Performance Web Applications (
    http://msdn.microsoft.com/hi-in/magazine/cc163854(en-us).aspx )
  4. 10 ASP.NET Performance and Scalability Secrets ( http://www.codeproject.com/KB/aspnet/10ASPNetPerformance.aspx )
  5. Checklist: ASP.NET Performance ( http://msdn.microsoft.com/en-us/library/ms998596.aspx )

No comments: