Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Performance Tuning Guide

- Previous: Logger Settings
- Next: EJB Container Settings

# Web Container Settings

Set Web container properties with the Admin Console at Configurations > config-name > Web Container.

- Session Properties: Session Timeout

- Manager Properties: Reap Interval

- Disable Dynamic JSP Reloading

## Session Properties: Session Timeout

Session timeout determines how long the server maintains a session if a user does not explicitly invalidate the session. The default value is 30 minutes. Tune this value according to your application requirements. Setting a very large value for session timeout can degrade performance by causing the server to maintain too many sessions in the session store. However, setting a very small value can cause the server to reclaim sessions too soon.

## Manager Properties: Reap Interval

Modifying the reap interval can improve performance, but setting it without considering the nature of your sessions and business logic can cause data inconsistency, especially for time-based persistence-frequency.

For example, if you set the reap interval to 60 seconds, the value of session data will be recorded every 60 seconds. But if a client accesses a servlet to update a value at 20 second increments, then inconsistencies will result.

For example, consider an online auction scenario as follows:

- Bidding starts at $5, in 60 seconds the value recorded will be $8 (three 20 second intervals).

- During the next 40 seconds, the client starts incrementing the price. The value the client sees is $10.

- During the client’s 20 second rest, the Application Server stops and starts in 10 seconds. As a result, the latest value recorded at the 60 second interval ($8) is be loaded into the session.

- The client clicks again expecting to see $11; but instead sees is $9, which is incorrect.

- So, to avoid data inconsistencies, take into the account the expected behavior of the application when adjusting the reap interval.

## Disable Dynamic JSP Reloading

On a production system, improve web container performance by disabling dynamic JSP reloading. To do so, edit the `default-web.xml` file in the `config` directory for each instance. Change the servlet definition for a JSP file to look like this:

    <servlet>
        <servlet-name>jsp</servlet-name>
        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
        ...
        <load-on-startup>3</load-on-startup>
    </servlet>

- Previous: Logger Settings
- Next: EJB Container Settings

- © 2010, Oracle Corporation and/or its affiliates