最近在做一个系统的性能调优,说实话我没撒经验,用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过大是不是可能导致性能问题,或者有相关调优经验的同学来个点建议
HttpSession中保持的东西多大可能影响性能?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- lgcpeter 2008-10-28 13:26关注
一般系统session中存放用户信息、权限信息、计数器等等需要用户从登陆到退出全程有效的信息。不能任何数据都往session中存储,在session有效的期间内会很耗资源,并且容易出现数据查询上的错误,建议分清哪些应该放在session中,哪些用request。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 保护模式-系统加载-段寄存器