session-tomcat下简单压测内存居高不下的原因.

问题描述

tomcat下简单压测内存居高不下的原因.
压测场景:
Tomcat Spring MVC

单链接压测

每秒20个并发 持续1小时+

压测结果:

CPU 正常 内存 由启动时的11%上升到34%+ 并无法回落

以下为memory analyzer做的分析截图

以上分析数据说明大量的内存占用都聚集在了session里,但我想说的是在这个链接里我并无做session操作所以请教一下,我们应该怎样来分析这个问题?

解决方案

用 jmap -histo 看下压测前和压测后那个对象的实例及内存占用变化比较大,然后在定位下程序代码!

解决方案二:
在客户端看不到图片。。。。

解决方案三:
压测前看不出来,压测前看到的都是classload加载类对象的内存,属正常数据,但这上面都是session的数据。比较奇怪啊

时间: 2024-08-04 14:28:00

session-tomcat下简单压测内存居高不下的原因.的相关文章

easy_runner一个简单的压测程序

这次再公开一个小工具 easy_runner 一个来用做压测的小工具 我主要用来做MySQL压测的时候,直接压业务端用的. 程序很简单,总共不到400来行,推荐程序员自己压测用,比LoadRunner这种重型压测工具使用起来方便多了 下载可以到 http://code.google.com/p/easy-runner/ checkout出源码来 使用说明见 http://code.google.com/p/easy-runner/wiki/Usage # 介绍 一个Python实现的简单压测工具

后端服务性能压测实践

后端服务性能压测实践 标签(空格分隔): 性能 压测 后端服务 压测实践 作者:王清培(Plen wang) 背景 环境检测 压力机及压力工具检测 Linux openfiles limit 设置 排查周边依赖 空接口压测检测 聚合报告中 throughput 计算 压测及性能排查方法 关注各纬度 log Linux 常规命令 性能排查两种方式(从上往下.从下往上) 总结 背景 最近大半年内有过两次负责性能压测的一些工作.一件事情做了一次可能还无法总结出一些东西,两次过后还是能发现一些共性问题,

性能测试 PTS 铂金版来袭!阿里云发布T级数据压测的终极秘笈

无限接近真实流量的全链路压测,具备超高并发能力,多维动态支持压测场景下的多变环境,1分钟即可设置简单压测场景--这个神奇的压测"黑科技"就是PTS铂金版! 有别于PTS企业版,PTS铂金版具有完全不同的出身,说起它,不得不从阿里巴巴每年的全球剁手党狂欢-双11说起.因为和其他APM服务商不同,阿里云的压测解决方案-性能测试服务 PTS 脱胎于阿里巴巴内部平台,而这个内部平台堪称双11保障的核武器.在经过超高峰值.超高复杂度的千锤百炼后,PTS铂金版正式对外输出,让广大企业级用户能用最低

如何真实压测一个Web浏览型应用的性能

对于应用压测大家应该都有一些自己的方式,通常都是构造一些请求,不过构造请求学问就大了. 构造什么样的请求?构造的请求是否真实?构造的请求各种业务场景的配比?读写比例? 对于一个Web浏览型应用来说,相比对纯DB的压测,会更复杂一些,主要因为涉及缓存. 之前采用过很多压测方式,包括ab.httpload等等,这些压测方式的缺点在于无法真实反映一个浏览型系统的性能指标.和其它对DB的查询或是调用外部服务的应用不同,浏览型系统在大量采用Cache和存在命中率的前提下,命中Cache和不命中的性能差距非

Http压测工具wrk使用指南

用过了很多压测工具,却一直没找到中意的那款.最近试了wrk感觉不错,写下这份使用指南给自己备忘用,如果能帮到你,那也很好. 安装 wrk支持大多数类UNIX系统,不支持windows.需要操作系统支持LuaJIT和OpenSSL,不过不用担心,大多数类Unix系统都支持.安装wrk非常简单,只要从github上下载wrk源码,在项目路径下执行make命令即可. git clone https://github.com/wg/wrk make make之后,会在项目路径下生成可执行文件wrk,随后

swingbench压测Oracle小记(r12笔记第19天)

   之前也分享过一篇关于swingbench测试Oracle的文章,也算是一个起步了.    新业务要上线,不跑个压力测试还真说不过去,当然我比较喜欢swingbench的一点就是它可以模拟一些OLTP的场景,比如订单类业务,新建客户,订购,下单等这样一个流程的操作算是一个模拟真实的事务.     当然swingbench还有几个地方做得挺有特色,一个是我们压力测试是指定数据量,比如1G,5G,100G,初始化数据就会按照这个基线来进行数据的分布.   swingbench的配置,其实有了图形

三步搞定Jmeter压测DNS

域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务.它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,DNS通常使用UDP53端口(也支持TCP53).除了在公网使用DNS做域名解析之外,在内网环境下,为了支持内部域名解析或者是一些高可用服务时,通常需要自建DNS服务.那么自建的DNS服务性能如何,则需要在部署生产环境之前进行性能测试. 本文就介绍一种使用Jmeter进行DNS压测的方法.很多场景下,Jmeter都是用作web服务的

tomcat启动报错-启动web项目,导致tomcat启动不了,内存泄露,请大家帮忙下这个问题,很急很急。

问题描述 启动web项目,导致tomcat启动不了,内存泄露,请大家帮忙下这个问题,很急很急. Oct 21, 2015 3:50:39 PM org.apache.catalina.core.StandardContext startInternal SEVERE: Error listenerStart Oct 21, 2015 3:50:39 PM org.apache.catalina.core.StandardContext startInternal SEVERE: Context

tomcat下session共享的问题

问题描述 我们的项目由2个应用(web1,web2)组成,共同放在同一个tomcat下.目前的问题是,项目的登录入口:web1的登录页面.登录成功后,把该用户的登录信息放入web1的session里面,servletRequest.setSession("user",user)之后通过ServletContextContextMybase=servletRequest.getSession().getServletContext();ContextMybase.setAttribute