In this paper we present a methodology to analyze the behavior and performance of Java application servers using a performance analysis framework. This framework considers all levels involved in the application server execution (application, server, virtual machine and operating system), allowing a fine-grain analysis of dynamic web applications. The proposed methodology is based on the suggestion of Hypotheses that could explain the presence of certain Symptoms that lead to bad server performance, an unexplained server behavior or a server malfunction. The methodology establishes that Hypotheses must be verified (in order to confirm or discard them) by performing some Actions with the performance analysis framework. In order to show the potential of the proposed analysis methodology, we present three successful experiences where a detailed and correlated analysis of the application server behavior has allowed the detection and correction of three performance degradation situations.