10.5.1 General application performance testing requirement
When performance testing a Web application, several requirements must be determined either through interpretation of data from an existing application that performs similar work, or from best-guess estimates. Those requirements are:
- Average request rate
What is the expected number of users who will access this application? This is generally expressed in hits per month, day, hour, or minute, depending on volumes. This rate should be reevaluated regularly.
- Peak request rate
How many pages will need to be served per second? This also should be reevaluated regularly.
- Average concurrent users
What is the average number of users accessing the application at the same time during regular usage hours? This rate should be planned for, expected, and reevaluated on a regular basis.
- Peak concurrent users
What is the maximum number of concurrent users that will visit your site during peak time?
- Regular usage hours
This value defines your off-peak hours. It is required to simulate a realistic workload.
- Peak usage hours
During this time, most of your traffic will occur and a performance degradation would impact most of your users.
- Site abandonment rate
How long will a user stay on your page before the user leaves the site or closes the browser?
The user base, especially for Web applications, is a difficult number to determine, especially if this is an application that is performing a new function on a Web site. Use existing Web server measurements to provide a "best-guess" number based on current traffic patterns for the site.
If capturing these numbers is not possible, then determine the "breaking point" for the application within the intended deployment infrastructure. This allows you to monitor after the application is live and provide increased capacity, thus possibly avoiding a negative user response due to load.