JSF会话管理和调整
所有,
我正在研究如何缩小我们的JSF应用程序在每个用户基础上占用的会话内存量。
我们使用在IBM Websphere 7.0修补程序19上运行的MyFaces 1.1.7和Tomahawk 1.1.5。(此时无法升级这些项目中的任何一个)
IBM的指导原则是会话大小应小于5k - 平均大约为2.5k,以便不影响服务器和会话复制的性能。 我们目前正在使用内存到内存,但是正如IBM建议的那样考虑移动到数据库。
我们的网站每个用户约35M。 我们将视图状态的数量从100改为10,并将其降至4M左右。
我们有几个支持bean,它们当前是会话范围,并且正在考虑将它们改为请求范围。
我还发现了以下内容:http://www.econsulting.nl/images/pdf/Tuning%20JSF%20Applications-%20J-Spring%202008.pdf它似乎有很多关于JSF如何处理特定内容的信息页面。 这仍在调查之中,以确保所陈述的内容有意义。
我也读过一些地方,无论管理的支持bean是会话还是请求范围都是视图状态仍然有bean和它的内容。 所以视图状态的大小不会改变。 寻找澄清这一个。
问题在于其他人面临同一问题,其中JSF应用程序倾向于为给定的用户会话消耗大量内存?
什么是减少这种大小的最佳实践?如果有,或者这只是使用JSF的方式?
运行JSF应用程序时,IBM WebSphere上的会话复制问题?
有没有关于JSF / MyFaces如何使用堆内存的任何文档 - Young与旧版本还是应该在此范围内考虑? 垃圾收集调整?
我们看到的结果是,如果用户跳到另一台服务器,会话数据不存在,因为数据有多大以及需要多长时间进行复制。 用户体验问题。
我们看到一个问题,即对会话中对象的更改没有正确更新,并且已经进行了一些会话管理调整,我们在其中自定义设置,以便写出所有会话属性。 看一下.jar文件,看起来myFaces在会话中的对象内容发生变化时正在进行调用。 因此,WebSphere会话监听器应该正在接受这种改变。
你可以尝试在客户端保存视图状态,但我不确定MyFaces 1.1.7已经支持这个
链接地址: http://www.djcxy.com/p/58679.html