Best Practise for Improving .NET Application Performance and Scalability
This guide provides end-to-end guidance for managing performance and scalability throughout your application life cycle to reduce risk and lower total cost of ownership. It provides a framework that organizes performance into a handful of prioritized categories where your choices heavily impact performance and scalability success. The logical units of the framework help integrate performance throughout your application life cycle. Information is segmented by roles, including architects, developers, testers, and administrators, to make it more relevant and actionable. This guide provides processes and actionable steps for modeling performance, measuring, testing, and tuning your applications. Expert guidance is also provided for improving the performance of managed code, ASP.NET, Enterprise Services, Web services, remoting, ADO.NET, XML, and SQL Server.
Part I, Introduction to Engineering for Performance
This part shows you how to apply performance considerations throughout your application life cycle and introduces fundamental performance and scalability concepts and terminology. Part I includes one chapter:
- Chapter 1, "Fundamentals of Engineering for Performance"
Part II, Designing for Performance
Performance modeling helps you assess your design choices before committing to a solution. By considering from the start your performance objectives, workload, and metrics for your scenarios, you reduce risk. Use the design guidelines chapter to learn practices, principles, patterns, and anti-patterns that will help you to make informed choices. Part II includes three chapters:
- Chapter 2, "Performance Modeling"
- Chapter 3, "Design Guidelines for Application Performance"
- Chapter 4, "Architecture and Design Review of a .NET Application for Performance and Scalability"
Part III, Application Performance and Scalability
This part provides a series of chapters that provide deep platform knowledge across the .NET Framework technologies. Use these chapters to learn about the key performance and scalability considerations for the various .NET technologies, and to improve the efficiency of your code in these areas. Part III includes nine chapters:
- Chapter 5, "Improving Managed Code Performance"
- Chapter 6, "Improving ASP.NET Performance"
- Chapter 7, "Improving Interop Performance"
- Chapter 8, "Improving Enterprise Services Performance"
- Chapter 9, "Improving XML Performance"
- Chapter 10, "Improving Web Services Performance"
- Chapter 11, "Improving Remoting Performance"
- Chapter 12, "Improving ADO.NET Performance"
- Chapter 13, "Code Review: .NET Application Performance"
Part IV, Database Server Performance and Scalability
This part shows how to improve SQL Server performance. This part includes one chapter:
- Chapter 14, "Improving SQL Server Performance"
Part V, Measuring, Testing, and Tuning
This part shows which metrics monitor and analyze for specific performance aspects. It also explains how to load, stress, and capacity test your applications and how you can tune performance with appropriate application, platform, and system configuration. This part includes three chapters:
- Chapter 15, "Measuring .NET Application Performance"
- Chapter 16, "Testing .NET Application Performance"
- Chapter 17, "Tuning .NET Application Performance"
This section contains printable, task-based checklists, which are quick reference sheets to help you put the information and details that you learned in the individual chapters into action. This section includes the following checklists:
- "Checklist: ADO.NET Performance"
- "Checklist: Architecture and Design Review for Performance and Scalability"
- "Checklist: ASP.NET Performance"
- "Checklist: Enterprise Services Performance"
- "Checklist: Interop Performance"
- "Checklist: Managed Code Performance"
- "Checklist: Remoting Performance"
- "Checklist: SQL Server Performance"
- "Checklist: Web Services Performance"
- "Checklist: XML Performance"
How To Articles
This section contains How To articles that provide step-by-step procedures for key tasks. This section includes the following How To articles:
- "How To: Improve Serialization Performance"
- "How To: Monitor the ASP.NET Thread Pool Using Custom Counters"
- "How To: Optimize SQL Indexes"
- "How To: Optimize SQL Queries"
- "How To: Page Records in .NET Applications"
- "How To: Perform Capacity Planning for .NET Framework Applications"
- "How To: Scale .NET Applications"
- "How To: Submit and Poll for Long-Running Tasks"
- "How To: Time Managed Code Using QueryPerformanceCounter and QueryPerformanceFrequency"
- "How To: Use ACT to Test Performance and Scalability"
- "How To: Use ACT to Test Web Services Performance"
- "How To: Use Custom Performance Counters from ASP.NET"
- "How To: Use CLR Profiler"
- "How To: Use EIF"
- "How To: Use SQL Profiler"