JSP的Request session的有效时间应合理设置

之前写了个简单的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" %>

posted on 2008-07-03 16:24 BlueDavy 阅读(7970) 评论(13)  编辑  收藏 所属分类: Internet

评论

# re: JSP的Request session的有效时间应合理设置 2008-07-03 16:50 隔叶黄莺

一般容器都是半个小时,基本我们都直接使用这个默认值,这个时间对于用户还是一个比较合理的值。

对于大量用户并发的情况,尽量不要在 session 中放置大对象。  回复  更多评论   

# re: JSP的Request session的有效时间应合理设置 2008-07-04 09:10 lizongbo

对于确实需要session的场景,应该区分游客用户和登录用户,将默认游客的session超时时间设置很短,比如5分钟,而在用户登录成功之后,再将登录用户的session的超时时间设置为半小时或更长。 session.setMaxInactiveInterval(60*30);  回复  更多评论   

# re: JSP的Request session的有效时间应合理设置 2008-07-04 22:22 千里冰封

一般来说,尽量不要放过多的数据在session 里面,特别是当连接数很多的时候  回复  更多评论   

# re: JSP的Request session的有效时间应合理设置 2008-07-07 09:51 西滨(Ivan Chen)

我们碰到的客户是一天只需要登录一次,然后session就不要超时了。。。  回复  更多评论   

# re: JSP的Request session的有效时间应合理设置 2008-07-08 11:04 Robin's Java World

@西滨(Ivan Chen)
给客户讲讲REST,呵呵。。。  回复  更多评论   

# re: JSP的Request session的有效时间应合理设置 2008-07-09 20:31 网站设计

我们碰到的客户是一天只需要登录一次,然后session就不要超时了。。。   回复  更多评论   

# re: JSP的Request session的有效时间应合理设置 2008-07-09 20:31 网站设计

客户是一天只需要登录一次  回复  更多评论   

# re: JSP的Request session的有效时间应合理设置 2008-07-09 20:32 网站制作

按理嘎嘎饿大概  回复  更多评论   

# re: JSP的Request session的有效时间应合理设置 2008-09-04 12:47 hpoyuan

分析的非常好,受益匪浅,希望能一起提供的朋友加入群35389968一起讨论技术。  回复  更多评论   

# re: JSP的Request session的有效时间应合理设置[未登录] 2008-11-03 17:45 哈哈

哈哈 我们的架构是没有session的。   回复  更多评论   

# re: JSP的Request session的有效时间应合理设置 2008-11-25 10:43 卡通服装

我讨厌session,害我老是不停登陆后台.  回复  更多评论   

# re: JSP的Request session的有效时间应合理设置 2009-04-15 13:24 包装机

继续关注  回复  更多评论   

# re: JSP的Request session的有效时间应合理设置[未登录] 2009-06-12 09:44 gavin

受教了。  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 

公告

 









feedsky
抓虾
google reader
鲜果

导航

<2008年7月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

统计

随笔分类

随笔档案

文章档案

Blogger's

搜索

最新评论

阅读排行榜

评论排行榜