Checklist: Enterprise Services Performance
Retired Content |
---|
This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |
Improving .NET Application Performance and Scalability
J.D. Meier, Srinath Vasireddy, Ashish Babbar, and Alex Mackman
Microsoft Corporation
May 2004
Related Links
Home Page for Improving .NET Application Performance and Scalability
Send feedback to Scale@microsoft.com
How to Use This Checklist
This checklist is a companion to Chapter 8, "Improving Enterprise Services Performance"
Design Considerations
Check | Description |
---|---|
Use Enterprise Services only if you need to. | |
Use library applications if possible. | |
Consider DLL and class relationships. | |
Use distributed transactions only if you need to. | |
Use object pooling to reduce object creation overhead. | |
Design pooled objects based on calling patterns. | |
Use explicit interfaces. | |
Design less chatty interfaces. | |
Design stateless components. |
Object Pooling
Check | Description |
---|---|
Return objects to the pool promptly. | |
Monitor and tune pool size. | |
Preload applications that have large minimum pool sizes. |
State Management
Check | Description |
---|---|
Prefer stateless objects. | |
Avoid using the Shared Property Manager (SPM). |
Resource Management
Check | Description |
---|---|
Optimize idle time management for server applications. | |
Always call Dispose. | |
If you call COM components, consider calling ReleaseComObject. |
Queued Components
Check | Description |
---|---|
Use queued components to decouple client and server lifetimes. | |
Do not wait for a response from a queued component. |
Loosely Coupled Events
Check | Description |
---|---|
Consider the fire in parallel option. | |
Avoid LCE for multicast scenarios. | |
Use Queued Components with LCE from ASP.NET. | |
Do not subscribe to LCE events from ASP.NET. |
Transactions
Check | Description |
---|---|
Choose the right transaction mechanism. | |
Choose the right isolation level. | |
Use compensating transactions to reduce lock times. |
Security
Check | Description |
---|---|
Use a trusted server model if possible. | |
Avoid impersonating in the middle tier. | |
Use packet privacy authentication only if you need encryption. |
Threading
Check | Description |
---|---|
Avoid STA components. |
Synchronization
Check | Description |
---|---|
Use locks or mutexes for granular synchronization. |
Retired Content |
---|
This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |