This solution forces a level of programming that other solutions don't
Using custom entity bean solutions
Another solution is to use an entity EJB to store session data. This is the most
robust solution. Frequently, entity beans are used to handle transactional data
related to a session, and one of the lightweight alternatives is used to cache
housekeeping session data, such as user preferences.
However, using custom entity beans is also the most heavy-handed solu-
tion, and it comes with a definite performance penalty.
Performance analysis often seems like a black art. With so many different vari-
ables, it's difficult to determine which parameters have significant impact and
which make things worse. Add the inherent unpredictability of the Internet,
and things get dicey at best. Slight improvements in performance can result in
increased traffic, which in turn harms performance. Unstructured perfor-
mance-tuning is sometimes called thrash-tuning. Here are some characteristics
Results of major design or parameter changes are unclear. Though fairly
significant changes are made, many times all at once, it isn't clear
whether a real performance improvement has been made.
Attempts to improve performance go in circles. In many instances, an
administrator or developer may tune a parameter and put it back again
several times, without settling on an improvement.
Performance tuning consumes much more of the schedule than it should.
Performance improvements can be elusive, and performance improve-
ments are not always readily apparent.
In general, the performance-tuning methodologies are the cause of the prob-
lem, though the symptoms can sneak up on us quickly. These practices can get
us into trouble:
Changing more than one parameter at a time. This approach has tripped
veterans and novices alike. Though it seems counterintuitive, this prac-
tice takes more time than it saves because it's extremely difficult to
determine the impact of parameters.