转载请标明出处:http://blog.csdn.net/goldenfish1919/article/details/47829755

我们先来做一个实验,用jmeter对tomcat下的一个jsp页面做压測:

(1)jsp的内容很easy,1.jsp:

<%@ page language="java" pageEncoding="utf-8" contentType="text/html;charset=utf-8"%>
<html>
<head><title>1.jsp</title></head>
<body>
this is 1.jsp
</body>
</html>

没有不论什么复杂的处理。仅仅是一个很easy的jsp页面。我们知道,tomcat默认会给每个jsp都启用session的。

(2)我们给tomcat设置启动參数,改动catalina.bat。加入:

set JAVA_OPTS=%JAVA_OPTS% -Xms64m -Xmx64m

(3)启动jmeter,设置100个线程模拟100个用户,然后不停的訪问这个页面,观察结果:

图中能够看出来,在请求数目到达33165的时候,tomcat已经内存溢出了。

(4)导出tomcat的内存映像文件:

jps -v:找到tomcat的pid

jmap -dump:format=b,file=tomcat.bin 6616

(5)用mat打开tomcat.bin:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

有没有非常惊讶。StandardSession居然有33197个。所占内存达到了52M!这是由于对每一个请求tomcat都会为其创建一个session导致的。

这里也说明一个问题:就算session里面什么也不存。默认就会占几乎相同1.5K!

所以,Session据对是一个重量级的对象!

(6)那么假设jsp中不生成Session是不是就不会有这个问题了?我们改一下jsp页面:

又一次做压測:

tomcat表示非常轻松。毫无压力。

结论:tomcat的session是一个很重量级的对象,初始化就占几乎相同1.5K的大小,能禁用则一定要禁用。

最新文章

  1. 首页大图淡入淡出效果工具flexslider
  2. 利用animation和text-shadow纯CSS实现loading点点点的效果
  3. mmap为什么比read/write快(兼论buffercache和pagecache)
  4. eclipse导入android项目红叉和红色感叹号怎么解决
  5. PHP 文件系统管理函数与 preg_replace() 函数过滤代码
  6. 关于DISTINCE的用法
  7. &lt;转&gt;struts2中Convention中的basePackage与locators配置种种
  8. Codeforces Round #320 (Div. 1) [Bayan Thanks-Round] C. Weakness and Poorness 三分 dp
  9. IIC协议及其对ACK应答信号的处理
  10. layout_weight
  11. iOS:删除小程序
  12. php exit、return、break、continue之间的差别,具体介绍
  13. 猜数字游戏--基于python
  14. vue2.0 练习项目-外卖APP(1)
  15. MySQL添加用户错误:ERROR 1364 (HY000): Field &#39;ssl_cipher&#39; doesn&#39;t have a default value解决方法
  16. Linux安装nodejs和npm
  17. Keras 资料
  18. java.lang.ClassNotFoundException: org.thymeleaf.spring5.view.ThymeleafViewRe。。。。。。。。。。。
  19. Spark程序提交到Yarn集群时所遇异常
  20. 利用powerful number求积性函数前缀和

热门文章

  1. php处理传值为空
  2. git 本地项目推送至远程仓库
  3. WCF WEB HTTP请求 WCF REST FUL
  4. DB2大数据量优化查询解决方案
  5. Canvas实现环形进度条
  6. Css float 盒子模型 position
  7. 在windows系统下虚拟机和ubuntu系统的安装和卸载
  8. V4L2框架之视频监控
  9. C++中内存分配、函数调用和返回值问题
  10. PCL:PCL可视化显示点云