Designing High-Performance Applications

   

In an ideal world, every user of your application would have a computer with the fastest possible processor, plenty of memory, unlimited disk space, and a blazingly fast network connection. Reality dictates that — for most users — the actual performance of an application will be constrained by one or more of the above factors.

You should always design your application for maximum performance because the difference between nominal and fast is very noticeable. It's a common misconception that creating a high-performance application is something done at the end of the development cycle. To develop a truly fast distributed application, you must plan for it during the design stage, designing and building with careful attention to scalable component services and processes.

The following sections will acquaint you with a few important design strategies for creating your high-performance application.

Section Description
Contrasting the Design of Client/Server Applications with Distributed Applications Explains how distributed applications require design strategies that are different from traditional client/server applications.
Performance Value of Service Queuing with MSMQ Describes the benefits of using Microsoft Message Queue Server (MSMQ).
Performance Value of Object Pooling with MTS Describes the benefits of using Microsoft® Transaction Server to provide fast recycling of object services.
Considering Other High-Performance Design Strategies Explores various design strategies for creating a high-performance application.