Session JSF会话管理和调试

Session JSF会话管理和调试,session,jsf,websphere,myfaces,Session,Jsf,Websphere,Myfaces,全部, 我正在研究如何减少JSF应用程序在每个用户基础上消耗的会话内存量 我们正在使用在IBMWebSphere7.0Patch19上运行的MyFaces1.1.7和Tomahawk 1.1.5。(此时无法升级这些项目中的任何一个) IBM的指导原则是,会话大小应小于5k,平均约为2.5k,以免影响服务器和会话复制的性能。我们目前正在使用内存对内存,但希望按照IBM的建议转移到数据库 我们的网站以每用户3500万左右的速度运行。我们将视图状态的数量从100个更改为10个,并将其降至约400万个

全部,

我正在研究如何减少JSF应用程序在每个用户基础上消耗的会话内存量

我们正在使用在IBMWebSphere7.0Patch19上运行的MyFaces1.1.7和Tomahawk 1.1.5。(此时无法升级这些项目中的任何一个)

IBM的指导原则是,会话大小应小于5k,平均约为2.5k,以免影响服务器和会话复制的性能。我们目前正在使用内存对内存,但希望按照IBM的建议转移到数据库

我们的网站以每用户3500万左右的速度运行。我们将视图状态的数量从100个更改为10个,并将其降至约400万个

我们有几个支持bean,它们目前是会话范围,并且正在考虑将它们更改为请求范围

我还发现了以下内容:它似乎有很多关于JSF如何处理页面上某些内容的信息。这仍在调查中,以确保所述内容有意义

我也在某个地方读到过,不管托管支持bean是会话还是请求范围,视图状态仍然会有bean及其内容。因此视图状态大小不会更改。正在寻找关于这一点的澄清

问题是其他人是否也面临同样的问题,JSF应用程序往往会为给定的用户会话消耗大量内存

有哪些最佳实践可以减少这种规模(如果有的话),或者这仅仅是使用JSF的方式

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

有没有关于JSF/MyFaces如何利用堆内存的文档——年轻的还是老的,或者应该在这个范围内考虑?垃圾收集调优

我们看到的结果是,如果用户跳到另一台服务器,由于数据的大小和复制所需的时间,会话数据不存在。用户体验问题


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

您可以尝试在客户端保存视图状态,但我不确定MyFaces 1.1.7是否已经支持该更改。我想知道您是如何减少会话状态大小的。web.xml中有一个配置设置,允许您减少会话中保留的视图数量。最近我们减少到了3,这确实大大减少了用户会话的大小。我们的目标是为给定用户提供100万个会话大小。这将减少会话范围内的bean数量,并基于原始版本中提供的链接重做部分页面。