JSF会话管理和调优

boy*_*715 6 session websphere jsf myfaces

所有,

我正在研究如何缩减我们的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 vs old还是应该在这个范围内考虑?垃圾收集调整?

我们看到的结果是,如果用户跳到另一台服务器,会话数据不会出现,因为数据有多大以及复制需要多长时间.用户体验问题.

我们已经看到一个问题,即会话中对象的更改似乎没有正确更新,并且已经完成了一些会话管理调优,我们在其中自定义设置以便写出所有会话属性.查看.jar​​文件时,当会话中对象的内容发生更改时,myFaces会正确地进行调用.因此,WebSphere会话侦听器应该接受该更改.

smi*_*esh 2

您可以尝试在客户端上保存视图状态,但我不确定 MyFaces 1.1.7 是否已支持此功能