JSP session配置对web应用的影响以前公司做了一个web项目。发布以后,随着访问量的逐渐增大,发现JVM的内存使用比较多,full gc比较频繁,而且full gc后old区的大小变化不大。刚开始以为是JVM虚拟机的各项参数配置的不合理,我们就对JVM虚拟...
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中放了信息,那么大家就需要
自己考虑设置一个合理的过期时间。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
本文标题为:JSP session配置对web应用的影响


基础教程推荐
- JVM分析之类加载机制详解 2023-04-06
- Java File类的概述及常用方法使用详解 2023-05-18
- Project Reactor源码解析publishOn使用示例 2023-04-12
- 工厂方法在Spring框架中的运用 2023-06-23
- Java去掉小数点后面无效0的方案与建议 2023-02-18
- 一文了解Java 线程池的正确使用姿势 2023-06-17
- Java使用EasyExcel进行单元格合并的问题详解 2023-01-18
- SpringBoot配置文件中密码属性加密的实现 2023-03-11
- 用java实现扫雷游戏 2022-12-06
- 全局记录Feign的请求和响应日志方式 2023-01-09