aaronluo 2008-10-27 16:44
浏览 231
已采纳

HttpSession中保持的东西多大可能影响性能?

最近在做一个系统的性能调优,说实话我没撒经验,用LoadRunner+JProfiler对执行时间和内存进行分析。
偶尔发现在执行了一段时间后,一个用户HttpSession可以达到3M还可能更高。这当然和系统中把很多东西都丢到session中有关。
因为我没有相关的经验,不知道session中的东西多大会造成系统性能问题。事实上我发现在压力测试的时候,JVM分配1G的内存都不够用,GC很频繁,Application Server的CPU load也几乎100%,所以我怀疑是内存占用有问题,不知道是不是这个session导致的?
1个用户3M,100个用户就是300M,还是有点恐怖的。
[b]问题补充:[/b]
这个系统不是我设计的,我接手是为了性能调优。目前用JProfiler来看,几乎什么东西都丢到session了,比如用户信息、权限表、查询条件、甚至查询结果集....我都有点疯了,我干了4年Java Web应用,从来不敢做的事情,这个系统都给做了。这个问题肯定要解决,我只想知道session过大是不是可能导致性能问题,或者有相关调优经验的同学来个点建议

  • 写回答

4条回答 默认 最新

  • lgcpeter 2008-10-28 13:26
    关注

    一般系统session中存放用户信息、权限信息、计数器等等需要用户从登陆到退出全程有效的信息。不能任何数据都往session中存储,在session有效的期间内会很耗资源,并且容易出现数据查询上的错误,建议分清哪些应该放在session中,哪些用request。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题