Export (0) Print
Expand All

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.

patterns & practices Developer Center

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
Ff647710.checkbox(en-us,PandP.10).gifUse Enterprise Services only if you need to.
Ff647710.checkbox(en-us,PandP.10).gifUse library applications if possible.
Ff647710.checkbox(en-us,PandP.10).gifConsider DLL and class relationships.
Ff647710.checkbox(en-us,PandP.10).gifUse distributed transactions only if you need to.
Ff647710.checkbox(en-us,PandP.10).gifUse object pooling to reduce object creation overhead.
Ff647710.checkbox(en-us,PandP.10).gifDesign pooled objects based on calling patterns.
Ff647710.checkbox(en-us,PandP.10).gifUse explicit interfaces.
Ff647710.checkbox(en-us,PandP.10).gifDesign less chatty interfaces.
Ff647710.checkbox(en-us,PandP.10).gifDesign stateless components.

Object Pooling

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

State Management

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

Resource Management

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

Queued Components

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

Loosely Coupled Events

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

Transactions

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

Security

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

Threading

CheckDescription
Ff647710.checkbox(en-us,PandP.10).gifAvoid STA components.

Synchronization

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

patterns & practices Developer Center

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.

Show:
© 2014 Microsoft