Mac os x web server - 266 CHAPTER 10 JAVA EE PERFORMANCE ASSESSMENT
266 CHAPTER 10 JAVA EE PERFORMANCE ASSESSMENT Tip You might need to reduce overhead when your application is simply too large (with too many classes or too large of a call tree), or when you are testing only a subset of an application (you can inadvertently reduce overhead by simply not monitoring classes and requests that you are not interested in). The following common strategies can help you isolate problematic sections of code, even when overhead is not an issue: Filters: Only record requests that you are interested in and filter everything else out. Custom components: When integrating external libraries or code your requests interact with, but that you have no interest in seeing detailed call traces for, you can roll calls in these classes or packages into black boxes referred to as custom components. The purpose of implementing filters and custom components is to narrow the scope of user requests that you have to review to assess the health of your application. Considering the sheer size of an enterprise application, performance tuning can be a daunting task, and if you can eliminate items that you do not care about and have no control over, you can reduce the overall amount of data you analyze and more efficiently identify real problems. Production Strategy While the goal in the preproduction strategy is to obtain a reasonably detailed level of information about the components and requests you are interested in, production recording adds the caveat that you do not want to noticeably impact the end-user experience. When you gather information from a production environment, performance impact must take precedence over level of detail. As you will see, you can still gather a similar level of detail, but in a staged approach. Before diving directly into production, let s consider the two primary reasons for recording real-life users as they are executing an application: Production behavior cannot be reproduced in a preproduction environment. We want to gain a true understanding of end-user behavior. Obtaining these real-life user behaviors is important because most customer sites that I visit maintain large enterprise environments, so when a performance issue occurs, it is very difficult to reproduce it in a controlled environment because of the sheer number of moving pieces. In this situation, there are two strategies: Record user requests from production and replay them in a controlled environment. Jump into production to diagnose the problem. Regarding the first strategy, new tools are emerging that can record live production usage and replay it against another environment, such as a test or preproduction environment. Because of their newness, though, these tools have not been widely adopted. Most companies opt for the second strategy of diagnosing the problem in production. If production usage cannot be reproduced in a preproduction environment, then tuning efforts
Go visit our java server pages services for a reliable, lowcost webhost to satisfy all your needs.