HTTP Session Size and Scope

The session
size per request depends on the amount of session information stored in the session.

Tip –

To improve overall performance, reduce the amount of information in the
session as much as possible.

It is possible to fine-tune the session size per request through the persistence scope settings.
Choose from the following options for HTTP session persistence scope:

session: The server serializes
and saves the entire session object every time it saves session information to HADB.

modified-session: The server saves
the session only if the session has been modified. It detects modification by intercepting
calls to the bean’s setAttribute() method. This option will
not detect direct modifications to inner objects, so in such cases the SFSB must be
coded to call setAttribute() explicitly.

modified-attribute: The server
saves only those attributes that have been modified (inserted, updated, or deleted)
since the last time the session was stored. This has the same drawback as modified-session
but can significantly reduce HADB write throughput requirements if properly applied.

To use this option, the application must:

Call setAttribute() or removeAttribute() every time it modifies session state.

Make sure there are no cross references between attributes.

Distribute the session state across multiple attributes, or at least
between a read-only attribute and a modifiable attribute.

The following
table summarizes the advantages and disadvantages of the persistence scope options.

Table 2–2 Comparison of Persistence Scope Options

Persistence Scope Option

Advantages

Disadvantages

modified-session

Provides improved response time for requests that do not modify session state.

During the execution of a web method, typically doGet() or
doPost(), the application must call a session method:

setAttribute() if the attribute was changed

removeAttribute() if the attribute was removed.

session

No constraint on applications.

Potentially poorer throughput and response time as compared to the modified-session and the modified-attribute options.

modified-attribute

Better throughput and response time for requests in which the percentage of
session state modified is low.

As the percentage of session state modified for a given request nears 60%, throughput
and response time degrade. In such cases, the performance is worse than the other
options because of the overhead of splitting the attributes into separate records.