性能测试瓶颈分析
来源:互联网 发布:js日期时间选择插件 编辑:程序博客网 时间:2024/04/27 17:27
http://www.taobaotest.com/blogs/qa?bid=8641
在性能测试过程中,瓶颈犹如功能测试的bug,瓶颈的分析犹如bug的定位。性能测试工程师好比医生,看到病象,定位病因。性能瓶颈的定位更像庖丁解牛,层层解剖,最后定位问题之所在。下面分享一个内存泄漏的瓶颈分析。
病象:TPS波动非常大;狂打超时日志;偶尔有500错误。看到这个现象,其实说明不了什么问题,就象人咳嗽,不一定是感冒,可能是上火,嗓子发炎。但是看到这个现象至少说明系统是有性能问题存在,我们就要进一步进行分析,看看问题到底在哪?用jconsole监控内存,发现内存使用如图1图1:内存使用情况图从图1中,我们可以很清晰的看到内存使用不正常,FGC非常频繁,差不多5分钟进行一次,而且内存回收不彻底,每次回收在1G左右徘徊。到这里我们已经可以定位是内存问题,导致了我们看到的TPS波动大,FGC频繁,超时严重等等一系列现象。那么是谁吃了我的内存???用简单的jstat命令查看系统GC情况,看到情况如图2所示图2在图2的绿色框标注,我们可以很清晰的看到进行一次FGC,内存只回收12%左右,回收很不彻底,而且FGC的时间持续5秒。内存回收不彻底,肯定是有些方法霸占了内存不释放,导致系统频繁FGC来进行回收。那么谁是真正的凶手呢??用jmap 命令对内存使用进行分析,发现情况如图3所示图3通过FGC前后的内存使用进行比对,发现这三个方法快速占用内存从最少到最多,而且回收不掉,始终霸占着前几位。再通过其他工具分析,看看这三个是不是真正的凶手。用MAT分析工具进行分析,图4所示图4这三个方法各占了内存使用的14%,那么问题就很清晰明朗了。这三个方法就是真正的凶手,调优就从这三个方法入手。性能瓶颈的分析,犹如庖丁解牛,层层剖析。最终定位问题之所在。- 性能测试瓶颈分析
- java性能测试瓶颈分析
- 性能测试之瓶颈分析
- 性能测试之瓶颈分析
- 性能测试—瓶颈分析方法
- 性能测试——瓶颈分析方法
- 性能测试难点之瓶颈分析【转】
- Fusionio性能测试与瓶颈分析
- 性能测试系统瓶颈分析的基本原则
- 性能测试瓶颈分析之内存泄漏
- 性能测试之----瓶颈分析方法
- 性能测试学习和性能瓶颈分析路线
- 测试Python性能瓶颈
- 性能测试分析之带宽瓶颈的疑惑
- Mysql寻找瓶颈:基准测试与性能分析
- 性能测试分析之带宽瓶颈的疑…
- 性能测试之压力机瓶颈分析及优化
- 性能瓶颈分析方法
- 超越设计模式_序言
- 与我邂逅的问题
- Sar 监控命令小览
- 用CInternetSession下载文件
- Mdf打开
- 性能测试瓶颈分析
- Meet Jeff Jonas, the Latest IBM Fellow With No College Degree
- lzbus的前世今生
- 安装xp后, grub重新安装
- 游戏编程数学和物理基础(相关函数)
- GTK+ Overview
- C++模板元编程 入门简介
- Web 设计与开发终极资源大全
- Tomcat站点部署/配置首页,Dreamweaver设置JSP执行环境