CHAPTER 10 JAVA EE PERFORMANCE ASSESSMENT filtered subset of requests, diagnosing performance problems is the primary goal, so the sampling period should be finer. Depending on the resource utilizations of your production environment, you can entertain values ranging from 30-second samples to 2-minute samples. Typically I use 1-minute samples in production, just to be safe. In the staged approach that you implement when recording in production, the component recording implements minimal filtering (you might filter a specific application, but in general you want to see as many requests as possible), but the detailed recordings make extensive use of filters. A detailed recording may filter out (exclude) all requests except for four or five specifically named requests. By definition, the component-level recording uses the component level of detail, while the detailed recording uses a detailed, or method, level of recording. Finally, create custom components for all third-party libraries that your application uses. You might want more detailed information about a third-party library when recording in a preproduction environment, but in a production environment you want to obtain as much valuable information as possible, but with minimal performance monitoring overhead. Your performance analysis report can include callouts to the contributions of third-party libraries to request response times, but identifying the root cause of third-party performance problems in a production environment offers no real benefits. Metric Analysis At this point, you should have obtained performance metrics about both your platform and your application, from either a preproduction staging environment or a live production environment. Regardless of where you obtained the information, the real challenge is in analyzing the data and assigning meaningful business values to it. In this section, we ll break down the analysis of performance metrics into the following categories and discuss how to interpret those metrics: Environment: This section reviews the environment upon which the application server runs, including the operating system and JVM. Application server: Here you ll review the performance of application server specific metrics and how your application interacts with them. Application: In this section, you ll examine the performance of your application, focusing on identifying the hot path through a slow request as well as the hot point within the hot path. Also, you ll learn about the principles of wait-based tuning to reveal implicit configuration issues that manifest through application behaviors. SQL report: Because most enterprise applications interact with a database, it is important to identify poorly performing SQL code, as it impacts the application. In this section, you ll also look at properly tuning prepared statement caches. Environment For the purposes of this discussion, the environment is the platform that hosts the application server, including the underlying hardware, operating system, and JVM. Specifically from an
Note: In case you are looking for affordable and reliable webhost to host and run your j2ee application check Vision J2ee Web Hosting services.