2011-10-17 43 views
6

全部,JSF会话管理和调整

我正在做一些调查,以了解如何缩小我们的JSF应用程序在每个用户基础上占用的会话内存量。

我们正在使用的MyFaces 1.1.7和战斧1.1.5上的IBM WebSphere 7.0补丁19.(无法升级或者这些项目在这个时候)运行

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的会话或请求范围是视图状态仍会有豆及其内容。所以视图状态的大小不会改变。寻找澄清这一个。

问题是其他人面临同一问题,其中JSF应用程序倾向于为给定用户会话消耗大量内存?

什么是减少这种大小的最佳做法,如果有的话,或者这只是使用JSF的方式?

运行JSF应用程序时,IBM WebSphere上的会话复制问题?

是否有任何文档,告诉我们怎样JSF/MyFaces的利用了堆内存 - 扬VS旧的或应甚至在此范围内被考虑?垃圾收集调整?

我们所看到的是这样的结果是,在事件的用户跳跃到另一台服务器,会话数据不存在由于需要多大量的数据是多长时间复制。用户体验问题。

我们看到了一个问题,在它出现在会话中更改对象没有被正确地更新,并且已经做了我们在其中自定义设置,使所有会话属性都写了一些会话管理调整。看一下.jar文件,看起来myFaces在会话中的对象内容发生变化时正在进行调用。因此,WebSphere会话监听器应该正在接受这种改变。

+0

想知道你是如何降低的会话状态大小。 – Ben

+1

web.xml中有一个配置设置,它允许您减少会话中保留的视图数量。最近我们减少到3,这确实使用户会话大小下降很多。我们正在努力的目标是给定用户的1M会话大小。这将导致基于原始问题中提供的链接,减少会话范围的bean数量以及重新部署页面。 – boyd4715

回答

2

你可以尝试在客户端保存视图状态,但我不知道,MyFaces的1.1.7已经支持此