日期:2014-05-17  浏览次数:20804 次

求助session对性能的影响
背景介绍
公司有个项目,把所有检索的数据都放到session里面了。并且用了2台服务器负载平衡。
现在遇到的问题是,有些时候网站的响应速度会变得特别慢。最慢的时候会不能登录。
session用了DB的持久化。最大可以存放2M的数据。

问题描述
1.内存中的session过大,为什么会影响性能? 
2.session过大的时候,用负载平衡为什么会不会影响性能?
3.大量出力javacore文件和heapdump文件会对性能产生影响么?

求高手给予深刻一点的答案。感激不尽。。。。

------解决方案--------------------
session是很耗费资源的,每一个会话都要占据一部分内存,多了就会反应很慢了
------解决方案--------------------
1、多个会话,session很占资源
2、不是线程安全的,应该避免多个线程共享同一个Session实例 。
3、返回局限性。当一个用户从一个网站访问到另外一个网站时,这些Session信息并不会随之迁移过去。例如:新浪网站的WWW服务器可能不止一个,一个用户登录之后要去各个频道浏览,但是每个频道都在不同的服务器上,如果想在这些WWW服务器共享Session信息怎么办呢
等等等……好处很多,但尽量少用
------解决方案--------------------
session存放数据多了,内存占用也就多了
还好你的服务器用了集群,估计划给系统的内存也够大,还没出现内存泄露。
尽量在session存放数据量不大的内容,如果数据多存个key值,用的时候重新查询