Goals

The goals of EJB performance tuning are:

Increased speed - Cache
as many beans in the EJB caches as possible to increase speed (equivalently,
decrease response time). Caching eliminates CPU-intensive operations. However,
since memory is finite, as the caches become larger, housekeeping for them
(including garbage collection) takes longer.

Decreased memory consumption -
Beans in the pools or caches consume memory from the Java virtual machine
heap. Very large pools and caches degrade performance because they require
longer and more frequent garbage collection cycles.

Improved functional properties -
Functional properties such as user time-out, commit options, security, and
transaction options, are mostly related to the functionality and configuration
of the application. Generally, they do not compromise functionality for performance.
In some cases, you might be forced to make a “trade-off” decision
between functionality and performance. This section offers suggestions in
such cases.