CHAPTER 10 JAVA EE PERFORMANCE ASSESSMENT (Web site domain)
Wednesday, August 22nd, 2007CHAPTER 10 JAVA EE PERFORMANCE ASSESSMENT Examine access logs or your end-user experience monitor and analyze usage patterns against load scripts. Run a performance assessment to discover the actual end-user experience and the behavior of environment resources. It is only by combining the information gathered from user logs with the actual behavior of your environment that you can truly feel comfortable with the accuracy of your capacity assessment. In summary, the benefits performance assessments offer are tuning the performance of your application and validating that your tests and expectations are in line with reality. Performance Assessment Overview This section outlines the performance assessment stages: prerequisites, process, and analysis. Prerequisites Before starting a performance assessment, you need to satisfy some prerequisites for your assessment to be valuable: Formally defined SLA: You need a formally defined SLA to accurately assess if a request is performing as expected. Without a formally defined SLA, your assessment is essentially a stab in the dark the best you can do is assume that because a service request is taking a long time to run that it is problematic, without knowing how the request is supposed to respond. Application monitoring: You need to implement application monitoring in the form of bytecode instrumentation to isolate performance problems. It is not enough to learn that your application or even a specific request is not performing as expected, unless you can properly isolate the cause of the performance problem. Application server monitoring: Application server monitoring identifies the performance of application server resources such as heap management and garbage collection, thread pools, and connection pools to enable you to identify if application server tuning can help the performance of your application. Resource monitoring: Outside the application, you need to monitor the performance of operating system resources such as server CPUs, disk I/O rates, and network communications, in addition to external resources such as databases and legacy systems. Without this level of monitoring, application performance anomalies may be miscategorized as application code issues. Preproduction requirements: If you are implementing a performance assessment against a preproduction or production staging environment, then you need a representative subset of production as well as appropriate load to test your application against. You can only tune an application to the way that your users use it; if your load is not balanced and representative of actual end-user behavior, then you cannot have confidence that you have identified performance bottlenecks.
We recommend you use shared web hosting services, because many users agree that it is cheap, reliable and customer-satisfying webhost.