Click to Rate and Give Feedback
MSDN
MSDN Library
Performance
Checklists
 Checklist: Enterprise Services Perf...
Prescriptive Architecture
Checklist: Enterprise Services Performance
 

Patterns and Practices home

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

patterns & practices Library

How to Use This Checklist

This checklist is a companion to Chapter 8, "Improving Enterprise Services Performance"

Design Considerations

CheckDescription
ms978923.checkbox(en-us,MSDN.10).gifUse Enterprise Services only if you need to.
ms978923.checkbox(en-us,MSDN.10).gifUse library applications if possible.
ms978923.checkbox(en-us,MSDN.10).gifConsider DLL and class relationships.
ms978923.checkbox(en-us,MSDN.10).gifUse distributed transactions only if you need to.
ms978923.checkbox(en-us,MSDN.10).gifUse object pooling to reduce object creation overhead.
ms978923.checkbox(en-us,MSDN.10).gifDesign pooled objects based on calling patterns.
ms978923.checkbox(en-us,MSDN.10).gifUse explicit interfaces.
ms978923.checkbox(en-us,MSDN.10).gifDesign less chatty interfaces.
ms978923.checkbox(en-us,MSDN.10).gifDesign stateless components.

Object Pooling

CheckDescription
ms978923.checkbox(en-us,MSDN.10).gifReturn objects to the pool promptly.
ms978923.checkbox(en-us,MSDN.10).gifMonitor and tune pool size.
ms978923.checkbox(en-us,MSDN.10).gifPreload applications that have large minimum pool sizes.

State Management

CheckDescription
ms978923.checkbox(en-us,MSDN.10).gifPrefer stateless objects.
ms978923.checkbox(en-us,MSDN.10).gifAvoid using the Shared Property Manager (SPM).

Resource Management

CheckDescription
ms978923.checkbox(en-us,MSDN.10).gifOptimize idle time management for server applications.
ms978923.checkbox(en-us,MSDN.10).gifAlways call Dispose.
ms978923.checkbox(en-us,MSDN.10).gifIf you call COM components, consider calling ReleaseComObject.

Queued Components

CheckDescription
ms978923.checkbox(en-us,MSDN.10).gifUse queued components to decouple client and server lifetimes.
ms978923.checkbox(en-us,MSDN.10).gifDo not wait for a response from a queued component.

Loosely Coupled Events

CheckDescription
ms978923.checkbox(en-us,MSDN.10).gifConsider the fire in parallel option.
ms978923.checkbox(en-us,MSDN.10).gifAvoid LCE for multicast scenarios.
ms978923.checkbox(en-us,MSDN.10).gifUse Queued Components with LCE from ASP.NET.
ms978923.checkbox(en-us,MSDN.10).gifDo not subscribe to LCE events from ASP.NET.

Transactions

CheckDescription
ms978923.checkbox(en-us,MSDN.10).gifChoose the right transaction mechanism.
ms978923.checkbox(en-us,MSDN.10).gifChoose the right isolation level.
ms978923.checkbox(en-us,MSDN.10).gifUse compensating transactions to reduce lock times.

Security

CheckDescription
ms978923.checkbox(en-us,MSDN.10).gifUse a trusted server model if possible.
ms978923.checkbox(en-us,MSDN.10).gifAvoid impersonating in the middle tier.
ms978923.checkbox(en-us,MSDN.10).gifUse packet privacy authentication only if you need encryption.

Threading

CheckDescription
ms978923.checkbox(en-us,MSDN.10).gifAvoid STA components.

Synchronization

CheckDescription
ms978923.checkbox(en-us,MSDN.10).gifUse locks or mutexes for granular synchronization.

Patterns and Practices home

© 2009 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks | Privacy Statement
Page view tracker