Getting Started
Set
Performance Objectives
Design for Performance
Measuring Performance
Testing Performance
Tuning Performance
Design
guidelines for application performance
Deployment Considerations
Scaling up v/s Scaling out
Considering Database partitioning
Coupling and Cohesion considerations
Choosing appropriate communication mechanisms
Handling concurrency
Resource managements
Caching considerations
State managementa
Data Access and Passing data between layers
Exception Handling mechanisms
Class design considerations
Improving
Managed Code Performance
Class Design Considerations
Garbage Collection Guidelines
Considerations for Dispose and Finalize methods
Object Pinning
Threading considerations
Asynchronouse programming considerations
Locking and synchronization issues
Boxing and unboxing issues
Efficient Exception management
Iterations and Looping
String manipulation considerations
Guidelines for working with collections and arrays
Reflection and late binding
CAS Considerations
Working Set Considerations
Ngen.exe utility
Improving ASP.NET Performance
Threading
and ThreadPool considerations
Resource Management
Guidelines for designing pages
Databinding issues
Caching Guidelines
Session and Application State considerations
String management considerations
Efficient Exception handling
Data access and custom paging
IIS 6 considerations
Improving Enterprise Services Performance
Object
Pooling
State Management
Resource Management
Queued Components
Loosely Coupled Events
Transaction handling
Improving
XML Performance
Parsing
XML Efficiently
Validating XML
XPath and XSLT considerations
Multiple portals
Improving
Web Services Performance
Performance
and Scalability issues
TCP Connection pooling
Asynchronous communication
Handling Timeouts
Serialization Issues
Bulk data transfer
Improving
Remoting Performance
Design
Considerations
Object Activiations
Lease Management
Recomendations for working with hosts
Serialization and Marshalling
Improving
ADO.NET Performance
Design
Considerations
Working with Connections
Working with Commands
Stored Procedures and Parameters
Choosing between datasets and DataReaders
Typed Datasets
Transaction management
Working with large binary objects
Improving
SQL Server Performance
Performance
and Scalability issues
Designing efficient schemas
Writing efficient Queries
Working with indexes
Execution plans
Working with transactions
Using SQL Profiler
Measuring
and Testing Performance
Measuring
.NET Performance using Instrumentation
Performance and Stress Testing Applications
Performance Tuning
Checklists for common performance related tasks