要提高整体性能,应尽可能减少会话中的信息量。
可通过持久性范围设置微调每个请求的会话大小。请从以下 HTTP 会话持久性范围选项中进行选择:
session:每次服务器将会话信息保存到 HADB 时,将序列化并保存整个会话对象。
modified-session:服务器仅会保存已修改的会话。它通过截获对该 Bean 的 setAttribute() 方法的调用来检测修改。此选项将不检测对内部对象的直接修改,因此,在这种情况下,必须对 SFSB 进行编码才能显式调用 setAttribute()。
modified-attribute:服务器仅保存自上次会话存储以来修改(插入、更新或删除)的属性。它与 modified-session 的缺点相同,但如果正确应用,可以显著降低 HADB 写入吞吐量要求。
要使用此选项,应用程序必须:
在每次修改会话状态时调用 setAttribute() 或 removeAttribute()。
确保各属性之间没有交叉引用。
在多个属性之间分布会话状态,或者至少在只读属性和可修改属性之间分布会话状态。
下表简要说明了持久性范围选项的优缺点。