JSP的Request session的有效时间应合理设置
2009-10-13 14:49
435 查看
之前写了个简单的jsp做压力测试,没想到出现的一个问题是当压力比较大的情况,运行比较久的话会出现一个现象,就是jvm的内存几乎被耗尽,用jprofiler查看会发现是有一个ConcurrentHashMap对象的内存一直在增长,而且没有释放的迹象,随后进入Debug模式,跟踪查找都有谁new了ConcurrentHashMap,因为测试场景中是个非常简单的jsp页面,发现只有jsp的Request session会创建这个ConcurrentHashMap,很久没写jsp了,猜测是request session的默认超时时间太长,所以导致高压力下(200并发,总共连续访问50万次,jvm内存1G)会出现内存一直没有回收的问题,后来打印了一下request session的默认超时(AS是jboss 4.2.2),是半小时,如果这样的话确实是会有造成上面内存一直被占用的现象。
这个jsp是这样的,非常简单:
<%@ page contentType="text/html;charset=GBK" %>
Just Test.
造成这个问题的具体原因需要结合session的机制来讲了,讲session机制的文章相当多,感兴趣的话可以参见以下两篇文章: http://www.builder.com.cn/2007/1123/650439.shtml http://bbs.chinaunix.net/viewthread.php?tid=1178466
这个问题怎么说呢,只能说session用的时候要非常注意吧,毕竟是消耗内存资源的,而且通常session都不会去配置成即时invalidate,都是有一定的超时时间的,在这样的情况下,如果在超时时间范围内出现高访问量的话,是很有可能会造成问题的,因此超时时间的合理设置非常重要。
ps: 好久没玩过jsp和session了,确实没太注意这种状况,对于熟悉jsp和session机制的人来说也许这是常识
了,^_^,见谅见谅。
如果页面上不需要session的话,可以这么做:
<%@ page session="false" %>
这个jsp是这样的,非常简单:
<%@ page contentType="text/html;charset=GBK" %>
Just Test.
造成这个问题的具体原因需要结合session的机制来讲了,讲session机制的文章相当多,感兴趣的话可以参见以下两篇文章: http://www.builder.com.cn/2007/1123/650439.shtml http://bbs.chinaunix.net/viewthread.php?tid=1178466
这个问题怎么说呢,只能说session用的时候要非常注意吧,毕竟是消耗内存资源的,而且通常session都不会去配置成即时invalidate,都是有一定的超时时间的,在这样的情况下,如果在超时时间范围内出现高访问量的话,是很有可能会造成问题的,因此超时时间的合理设置非常重要。
ps: 好久没玩过jsp和session了,确实没太注意这种状况,对于熟悉jsp和session机制的人来说也许这是常识
了,^_^,见谅见谅。
如果页面上不需要session的话,可以这么做:
<%@ page session="false" %>
相关文章推荐
- JSP J2EE WebLogic设置session超时时间(转)
- thinkphp设置session有效时间
- jsp网页开发中,通过注册邮箱找回密码,并限制连接的有效时间
- 开发板的时间设置有效,但重启恢复
- 浅谈Jsp中隐式对象中Session的生命中期及设置失效时间问题
- codeigniter 3.0 动态设置session有效时间
- Js添加、读取、删除cookie,判断cookie是否有效,指定domain域下主路径path下设置cookie,设置expires过期时间
- OpenERP Web Client设置闲置有效时间
- 设置Session永不过期,Session有效时间的问题
- redis有效时间设置及时间过期处理
- weblogic 更改为生产模式并且设置检查jsp 页面时间
- Redis设置有效生存时间
- jsp中用EL读取了数据库里面的时间,怎么设置格式显示的格式
- JSP J2EE WebLogic设置session超时时间(转)
- 设置session有效时间
- jsp网页开发中,通过注册邮箱找回密码,并限制连接的有效时间
- 设置Session永不过期,Session有效时间的问题
- oracle用户密码有效时间设置为永久(适合测试数据库)
- 设置linux账号的有效时间
- Redis有效时间设置及时间过期处理