CHAPTER 9 PERFORMANCE AND SCALABILITY TESTING reduce (Web design software)
CHAPTER 9 PERFORMANCE AND SCALABILITY TESTING reduce that if possible.) Shaving a few milliseconds off of a frequently executed method can yield dramatic improvements in application performance. All performance issues not related to your code need to be investigated on their own; for example, database issues need to be evaluated in a database diagnostic tool. Your Java EE information should provide you with problematic contexts such as SQL statements and the call path that generated the undesirable behavior. The goal is to resolve as many performance bottlenecks as possible prior to performing a capacity assessment. While a capacity assessment can help you tune your environment, tuning is only the secondary goal the primary goal is to determine the maximum load you can support while meeting your SLAs and establish a degradation model for your application once SLAs are violated. Capacity Assessment The purpose of a capacity assessment is to identify the following key data points: The response time of your requests at expected usage The usage when the first request exceeds its SLA The usage when the application reaches its saturation point The degradation model from the first missed SLA to the application s saturation point A capacity assessment should be performed against your production staging environment, but only after you have verified that your application can sustain expected usage through a performance load test. The capacity assessment is the last test performed at the end of an iteration or prior to moving the application to production. Your production staging environment should mirror your production environment, if possible, or be a scaled-down version of it; otherwise, the results of the capacity assessment are of little value. Graduated Load Tester The key tool that empowers you to perform a capacity assessment is a graduated load tester. A graduated load tester is configured to climb to your expected usage in a regular and predefined pattern and then increase load in graduated steps. The purpose behind this configuration is to allow you to capture and analyze performance metrics at discrete units of load. The behavior of graduated load generation is illustrated in Figure 9-1. Graduated step sizes need to be thoughtfully chosen: the finer their granularity, the better your assessment will be, but the longer the test will take to run. You can usually find a good compromise between the test run time, the analysis time, and the granularity of the steps; it varies from application to application, but as a general rule, I configure these steps to be about 5 percent of the expected load. For example, if you need to support 500 simultaneous users, then your graduated step might start at 25 users. Graduated steps are required because of the nature of enterprise applications, as Figure 9-2 illustrates.
We recommend cheap and reliable webhost to host and run your web applications: Coldfusion Web Hosting services.