Consider the following guidelines for improving servlet performance:
Increase the Java heap size to help garbage collection. The Java heap size can be defined by adjusting the values specified to the —Xms and —Xmx jvm- options in server.xml. For example, <jvm-options>-Xms128m-Xmx256m</jvm-options> sets the minimum Java heap size to 128 MB and 256 MB. For more information see, Sun Java System Web Server 6.1 SP12 Administrator’s Guide.
Sun Java System Web Server 6.1 may occasionally run out of stack space if applications use deep recursion when a JIT (just-in-time) compiler is enabled, especially on UNIX platforms where the default stack size is small, or in any cases where very complex JSP pages are used.
You can set the stack space using the StackSize directive in the magnus.conf file. For more information, see the Sun Java System Web Server 6.1 SP12 NSAPI Programmer’s Guide.
Create servlet sessions only if required as the Session ID generator employs cryptographically unique random number generation algorithms. While sessions are being created, limit the size of sessions and configure them depending on whether the application uses short-lived or long-lived sessions. For more information on optimal session configuration, see Configuring the Web Application’s Session Settings in Sun Java System Web Server 6.1 SP12 Performance Tuning, Sizing, and Scaling Guide.
Use servlet cache when possible. For more information, see Caching Servlet Results.
Use precompiled JSPs if the JSPs do not change after deployment to the Web Server. The precompiled JSPs should include the reload-interval property setting in the jsp-config element in sun-web.xml. This eliminates time-consuming compilation and periodic checking by the Web Server.
Reduce the number of directories in the classpath.
Disable dynamic reloading.
Disable the Java Security Manager.