Views: 12859
This Free E- Book is written by .Net Gurus from Microsoft. That explains everything that a .Net Developer, Asp.Net Web developer, any Software Engineer or .Net Software Architect should know.
To explain “How to Design Scalable & High Performance .Net Applications.”
To provide guidance on how to approach performance in .Net & Asp.Net Applications.
To help integrate performance engineering throughout your application life cycle
To provide deep performance-related technical guidance on the .NET Framework.
Here is a few part of syllabus of this free ebookArchitecture and Design Review Process .Caching
Do You Cache Data?
Do You Know Which Data to Cache?
Do You Cache Volatile Data? .
Have You Chosen the Right Cache Location? .
What Is Your Expiration Policy? .
State Management Do You Use Stateless Components?
Do You Use .NET Remoting?
Do You Use Web Services? .
Do You Use Enterprise Services? .
Have You Ensured Objects to be Stored in Session Stores are Serializable? .
Do You Depend On View State?
Do You Know the Number of Concurrent Sessions
and Average Session Data per User?
Data Structures and Algorithms .
Do You Use Appropriate Data Structures?
Do You Need Custom Collections?
Do You Need to Extend IEnumerable for Your Custom Collections?
Data Access How Do You Pass Data Between Layers? .
Do You Use Stored Procedures?
<.b>Exception Handling
Do You Use Exceptions to Control Application Flow? .
Are Exception Handling Boundaries Well Defined? .
Do You Use Error Codes?
Do You Catch Exceptions Only When Required?
More Information .
Class Design Considerations
Does Your Class Own the Data That It Acts Upon? .
Do Your Classes Expose Interfaces?
Do Your Classes Contain Virtual Methods? .
Do Your Classes Contain Methods that Take Variable Parameters?
Improving SQL Server Performance .
Normalize First, Denormalize for Performance Later .
Define All Primary Keys and Foreign Key Relationships .
Define All Unique Constraints and Check Constraints
Choose the Most Appropriate Data Type .
Use Indexed Views for Denormalization .
Partition Tables Vertically and Horizontally .
Queries .
Know the Performance and Scalability Characteristics of Queries .
Write Correctly Formed Queries .
Return Only the Rows and Columns Needed .
Avoid Expensive Operators Such as NOT LIKE .
Avoid Explicit or Implicit Functions in WHERE Clauses
Use Locking and Isolation Level Hints to Minimize Locking
Use Stored Procedures or Parameterized Queries .
Minimize Cursor Use
Avoid Long Actions in Triggers
Use Temporary Tables and Table Variables Appropriately .
Limit Query and Index Hints Use .
Fully Qualify Database Objects
Indexes .
Create Indexes Based on Use
Keep Clustered Index Keys As Small As Possible .
Consider Range Data for Clustered Indexes
Create an Index on All Foreign Keys
Create Highly Selective Indexes .
Consider a Covering Index for Often-Used, High-Impact Queries .
Use Multiple Narrow Indexes Rather than a Few Wide Indexes .
Create Composite Indexes with the Most Restrictive Column First .
Consider Indexes on Columns Used in WHERE, ORDER BY, GROUP BY,
and DISTINCT Clauses .
Remove Unused Indexes
Use the Index Tuning Wizard .
Stored Procedures Use Set NOCOUNT ON in Stored Procedures
Do Not Use the Sp_ Prefix for Custom Stored Procedures .
Execution Plans Evaluate the Query Execution Plan .
Avoid Table and Index Scans .
Evaluate Hash Joins
Evaluate Bookmarks
Evaluate Sorts and Filters
Compare Actual vs. Estimated Rows and Executions .
More Information .
Execution Plan Recompiles .
Use Stored Procedures or Parameterized Queries .
Avoid OPENXML over Large XML Documents .
Avoid Large Numbers of Concurrent OPENXML Statements
over XML Documents
Use SQL Profiler to Identify Long-Running Queries
Take Note of Small Queries Called Often .
Use Sp_lock and Sp_who2 to Evaluate Locking and Blocking .
Evaluate Waittype and Waittime in master..sysprocesses
Use DBCC OPENTRAN to Locate Long-Running Transactions
Improving .NET Application Performance and Scalability
Monitoring Keep Statistics Up to Date
Use SQL Profiler to Tune Long-Running Queries .
Use SQL Profiler to Monitor Table and Index Scans .
Use Performance Monitor to Monitor High Resource Usage .
Set Up an Operations and Development Feedback Loop
More Information
Deployment Considerations .
Use Default Server Configuration Settings for Most Applications .
Locate Logs and the Tempdb Database on Separate Devices from the Data .
Provide Separate Devices for Heavily Accessed Tables and Indexes .
Use the Appropriate RAID Configuration .
Use Multiple Disk Controllers .
Pre-Grow Databases and Logs to Avoid Automatic Growth a
Tags:
ASP.Net Web Application Architecture ASP.Net Application Scalability ASP.NET Performance Tips Software Architecture