Referring again to Figure 1, the following steps outline the tuning methodology:
Load test your application using end-user representative transactions.
Gather runtime performance information from your application and application server (and underlying platform, back-end resources, and so on).
Observe the runtime performance and make changes as needed.
Tuning a J2EE environment is an iterative process: Start with a configuration that "looks good," load test the system, observe performance, change parameters, and start over. Recall that you want to pay particular attention to the concurrent user load and the transaction throughput of the system. (The greater the throughput, the better the performance.)