Conclusion
Now that you understand the
Chapter 2
Preparing and Planning for the Performance Test
Often Web applications fail to meet their customers needs and expectations. When a Web application generates errors, has poor response times, or is unavailable, customers can easily become frustrated. If your performance test procedure or methodology is not well thought out and properly planned, the odds of a successful Web application launch are significantly reduced. This chapter identifies the key processes and planning required before you execute a single performance test. By following these steps you will enhance your odds of executing an effective Web application performance test. These steps include identifying performance goals, creating a
NOTE
We have found that many performance test projects fail because testing begins too late in the Web application development cycle or have requirements that are too complex to complete in the allotted time. Focus on the key elements of your Web application and on user scenarios that will occur most often. If time
Identifying Performance Goals
High-level performance goals are critical to ensure your Web application meets or exceeds current or future
High-level performance requirements can be broken down into the following three basic categories:
Response time acceptability
Throughput and concurrent user goals
Future performance growth requirements
Response Time Acceptability Goals and Targets
By
|
User |
Worst Connection |
Average Connection |
Best Connection |
|
Line Speed |
28.8-kbps modem |
256-kbps DSL |
1.5-mbps T1 |
|
Latency |
1000
|
100 milliseconds |
50 milliseconds |
Once you have identified how your user base will access your Web application, you can determine your response time acceptability targets. These targets define how long it can acceptably take for user scenarios or content to load on various connections. For example, with all things being equal, a 70-kilobyte page will obviously load faster on a 256-kbps DSL connection than on a 28.8-kbps modem connection. The response time acceptability for your 28.8-kbps modem might be 15 seconds, while the 256-kbps DSL connection might be significantly less, at 5 seconds. Response time acceptability targets are useful when you perform an application network analysis, which is discussed in detail in Chapter 5. The purpose of conducting the application network analysis is to perform response time
Throughput Goals and Concurrent User Targets
Answering the following questions will help to determine throughput goals and concurrent user targets:
How many concurrent users do we currently sustain or expect in a given time period?
What actions does a typical user perform on our Web application and which pages receive the most page views in a given time period?
How many user scenarios will my Web application process in a given time period?
The best place to gather this information is from historical data, which can be found in Web server log files, System Monitor data, and by monitoring database activity. If you are launching a new Web application, you may need to perform marketing research analysis for anticipated throughput and concurrent user targets. Historical production data or marketing research is useful to ensure you execute the performance tests using the right concurrent user levels. If, after you complete your performance tests, your Web application meets your throughput and concurrent usage requirements, you can continue adding load until your Web application either
|
User Operations |
Ratio |
Anticipated Load per hour |
|
Basic Search |
14% |
1,400 |
|
Browse for Product |
62% |
6,200 |
|
Add to Cart |
10% |
1,000 |
|
Login and Checkout |
7% |
700 |
|
Register and Checkout |
7% |
700 |
|
Total |
100% |
10,000 |
Performance Growth Analysis
A performance growth analysis is required if your Web application user base is expected to grow over a given time period. You need to account for user growth when performance testing. Performance testing and tuning your Web application after your development cycle is complete will cost more in time and money, when compared to fixing your performance problems during the software development life cycle (SDLC). In the real world example in Chapter 1, expenses incurred by finding and fixing their Web application performance issues after the SDLC included: lost marketing
TIP
One tip for preloading your database with extra orders,
The
|
Time Period |
Users Per Day |
|
Current |
10,000 per day |
|
Three months out |
13,310 per day |
|
Six months out |
16,104 per day |
|
Nine months out |
21,434 per day |
|
Twelve months out |
28,529 per day |