欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JSP session配置对web应用的影响

程序员文章站 2023-01-03 21:35:17
jsp session配置对web应用的影响 以前公司做了一个web项目。发布以后,随着访问量的逐渐增大,发现jvm的内存使用比较多,full gc比较频繁,而且full...

jsp session配置对web应用的影响

以前公司做了一个web项目。发布以后,随着访问量的逐渐增大,发现jvm的内存使用比较多,full gc比较频繁,而且full gc后old区的大小变化不大。刚开始以为是jvm虚拟机的各项参数配置的不合理,我们就对jvm虚拟机的参数进行调整,调整后发现gc还是非常的频繁。

funll gc频繁非常影响性能,我们把jvm的heapdump( java 堆栈的快照)文件导出来,采用ibm heapanalyzer 的分析工具进行分析。经过分析发现堆中存在很多session对象。这些session对象占用空间比较大大,而且占堆内存的比例很大。很明显问题是出现在session上面。

因为客户端访问时,当服务端中没有该客户端的session,将会生成session对象,由于项目中的session过期时间设置的比较大,所以当访问量比较大的时候,产生的session对象就非常的多,导致占用了很大的堆内存。
以前session设置为30分钟,后来设置为1分钟,代码如下:

<!-- 设置session失效,单位分 --> 
  <session-config> 
    <session-timeout>1</session-timeout> 
  session-config> 

把session过期时间设置为1分钟后,进行压力测试,发现full gc减少了很多,而且jvm的内存的用量也减少了很多。从这个结果得出结论设置

合理的session过期时间是非常有必要的。

注:由于这个web工程中没有任何信息放入到session中,所以可以设置session时间很短。如果session中放了信息,那么大家就需要

自己考虑设置一个合理的过期时间。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!