性能测试分析思路(未完待续)
来源:互联网 发布:淘宝商城手镯 编辑:程序博客网 时间:2024/03/29 19:52
一.性能测试步骤
二.性能测试通过标准
吞吐量:
响应时间:90%小于200ms
失败率:<0.01%
cpu使用率:<80%
三.性能测试指标和监控
业务性能指标
吞吐量,响应时间,失败率
1.吞吐量
以jmeter工具为例,每次执行完性能测试之后可以通过聚合报告里面看到吞吐量,
图1
在这份报告里面throughput也就是吞吐量(tps),一般情况下我们不可能执行一次就能够得到最大吞吐量,我们一般采用二分增加,如对线程数20、40、80、160,当发现增大后降低,再对该区间二分尝试,最后对拐点附近精细尝试得到最大吞吐量;那么我们如何得到理想的tps呢?当我们得到了最大的tps,那么这种情况下是否就可以任务性能满足了呢?
这里有两种方法可供参考:
1.1.这里面涉及到用户访问量(pv)和tps的一个对应关系,一般我们会从运维那里得到整个系统在一天pv的一个趋势图,按小时进行统计可以看到24个小时里面pv的趋势,我们取其中最大的值换算成每秒最大pv,看tps是否大于日最高pv数;
1.2.二八原则:指80%的业务量在20%的时间里完成
如何理解,下面我们来个例子吧
用户登录场景:早高峰时段,8:50---9:10,5000坐席上线登陆。
业务量:5000个
时间:20x60=1200秒
吞吐量=80%x业务量/(20%*时间)=4000/240=16.7/秒
而并非5000/1200=4.1/秒
实际上,登录请求数分布是一个正态分布,最高峰时肯定比4.1/秒更高,高峰段实际上完成了80%的业务量,却只花了20%的时间,二八原则计算的结果并非在线并发用户数,是系统要达到的处理能力(吞吐量),初学者容易被误导,那这这个数据就去设置并发数,这是错误滴。
基于以上,如果我们通过计算得到了系统最大的吞吐量,当我们通过压测,得到的吞吐量大于计算出来的吞吐量,那么系统系统就是安全的;
另外一点,由于在这里可以看到tps的值,但是看不到tps的变化趋势,不过jmeter里面提供了这项功能,右键线程组-添加-监听器-图形结果,这里可以查看tps的趋势;
2.响应时间
在图1的第3-7列依次表示的是平均响应时间、50%用户响应时间、90%用户响应时间,最小最大响应时间;
一般我们在测试的过程中
3.失败率
资源性能指标
1.如何分析cpu
通过top命令:
显示出来的指标有很多,主要关注的指标有load average(参考:cpu中的load average),%us,%sy
load average显示的是最近1分钟、5分钟和15分钟的系统平均负载。评估系统性能时,不仅仅看load average的数值,而且应该结合系统的CPU核数(top命令下按1可以显示出有几个cpu核),系统的负载均值是基于内核的数量决定的,例如该服务器有24核,则单核的CPU负载为7/24。
依据经验分析,单核CPU负载<2时,系统性能是良好的,当单核CPU负载>5时,那么就表明这个机器存在严重的性能问题。
如果CPU在满负荷运行,应该符合下列分布,
a) User Time:65%~70%
b) System Time:30%~35%
2.如何分析内存
3.如何分析网络
4.如何分析IO
5.数据库负载
三.性能测试分析
四.
参考文章:
http://blog.csdn.net/musen518/article/details/50441473
- 性能测试分析思路(未完待续)
- 性能测试分析思路
- chubby 分析(未完待续)
- 性能测试结果分析思路
- webpack 开发的一点思路--未完待续
- Samurai框架分析--未完待续
- 软件测试总结--未完待续中
- 测试中的几个原则(未完待续)
- 安全测试(二)未完待续
- BK1080 流程分析(未完待续)
- ros::init源码分析(未完待续。)
- 模仿QQ连连看【思路、java源码】(未完待续)
- 自定义表单原理和实现思路(未完待续)
- 未完待续
- 未完待续
- 未完待续
- 未完,待续
- 未完待续~~~~~~~~~~~~~~~~
- 使用ajax发送请求到WebService,需要在服务器端配置响应头和响应协议
- 算法阅读笔记
- hdu 5475 An easy problem (线段树)
- 你有多了解hybris ?
- 【Leetcode】169. Majority Element
- 性能测试分析思路(未完待续)
- 实现线程方式
- 用AXIS2发布WebService的方法
- 使用Hibernate连接Mysql数据库
- 关机时间长 蓝屏driver power state failue
- 探究Android 关于Activity调用finish()方法后的内存释放情况
- 【BLE】CC2541之SBL
- 算法之----过河/过桥问题
- 【杭电2001】计算两点间的距离