Enterprise Library Test Guide - Willy .Net
Enterprise Library Test Guide - Willy .Net
Enterprise Library Test Guide - Willy .Net
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Test</strong>ing for Performance and Scalability 169<br />
Defining Performance Criteria<br />
The most common approach to determining an application’s performance is to measure<br />
its response times and the resources it uses against criteria, such as the application’s<br />
budgets for resources, its business needs, and its service level agreements.<br />
However, it is not always possible to use these criteria with <strong>Enterprise</strong> <strong>Library</strong>,<br />
treated as a whole. The reasons for this are:<br />
●<br />
●<br />
●<br />
There is no single application that encompasses all the application blocks.<br />
Different applications require different resources.<br />
Different applications have different goals.<br />
Because the application blocks cannot be tested in the context of a specific application,<br />
another approach is to measure an application block’s performance goals<br />
against a baseline. This is the approach used with <strong>Enterprise</strong> <strong>Library</strong>. The baselines<br />
are the .NET Framework and <strong>Enterprise</strong> <strong>Library</strong> 1.1. In this case, an example of a<br />
performance goal may be that an <strong>Enterprise</strong> <strong>Library</strong> method should have less than a<br />
15 percent overhead when compared to the overhead of the equivalent .NET Framework<br />
method.<br />
For example, the cost of adding an item to the ASP.NET cache serves as a baseline<br />
measurement for the Caching Application Block’s equivalent Add method. By<br />
comparing the two costs, the overhead of the <strong>Enterprise</strong> <strong>Library</strong> application block<br />
becomes apparent.<br />
Measurements of the performance criteria are collected with the Windows Performance<br />
Monitor (Perfmon.exe). Here is the complete list of performance criteria for<br />
<strong>Enterprise</strong> <strong>Library</strong>–January 2006:<br />
●<br />
●<br />
●<br />
●<br />
Overhead cost<br />
Initialization cost<br />
Consistency<br />
Availability<br />
The next sections discuss these subjects.<br />
Overhead Cost<br />
The overhead cost is expressed as a percentage. It is the difference between the response<br />
time of an application block (or one of its system resources) when it performs<br />
a function and the response time of the .NET Framework and <strong>Enterprise</strong> <strong>Library</strong> 1.1<br />
when it performs the same function. The overhead cost is expressed as a percentage<br />
of total transactions (this is also termed “total hits” for Web applications) and as a<br />
percentage of transactions per second. The next sections describe the calculations for<br />
determining the overhead costs.