Once you have created a working application, you need to ensure that it meets your performance requirements today and can scale to meet performance requirements in the future. Performance validation is a process for determining, to an acceptable degree of uncertainty and with an acceptable amount of effort, whether requirements are met. The goal is to minimize the risk that the application will not perform acceptably once it is deployed.
In order to validate performance, you must know what your performance requirements are. To define a good performance requirement, you must identify project constraints, specify services provided by the application, specify application load, and select tangible metrics with specific values that must be achieved. During validation, you test your application to see whether the requirements are met. If not, you tune the portions of the system that are bottlenecks and retest the application. This process is repeated until performance requirements are met. Some of the common bottlenecks in MTS-based applications are using the default system administrator login for SQL Server database access, using the named pipe communication protocol with SQL Server, using File DSNs to access databases, using early versions of ADO and OLE DB, using transactions when they aren't necessary, and using multiple instances of the MS DTC.
Ideally, performance would be tested in the environment in which the application will be deployed, but this is generally unrealistic. Usually, you will want to test performance throughout the development life cycle, to reduce the risk that you will find major bottlenecks within your components after development and testing are complete. In addition, the environment used for performance validation might differ from the deployment environment—the network load might be different, large numbers of clients might be simulated by a test harness, and so on. These differences introduce some uncertainty into the validation results, but this uncertainty is usually acceptable because of the high costs of exactly duplicating the deployed environment during testing.
A number of tools and documents are available to help you locate and reduce bottlenecks in your application. The MTS Performance Toolkit provides a wealth of information about the tuning process and common bottlenecks, as well as a sample test harness that you can modify to tune your own applications. Information about tuning Windows NT, SQL Server, IIS, ASP, and so on can be found on the Microsoft Web site. Several performance tuning white papers available on the Web site are also referenced in the bibliography.