Jmeter性能测试指标分析
一、Aggregate Report 是 JMeter 常用的一个 Listener,中文被翻译为“聚合报告
如果大家都是做Web应用的性能测试,例如访问百度请求为例,线程10,循环10次,那么在Aggregate Report中,会显示一行数据,共有10个字段,含义分别如下。。
1、Lable:每个Jmeter的element(例如Http Request)都有一个Name属性,这里显示就是Name属性的值
2、Samples:表示这次测试一共发出了多少次请求,如果模拟10用户,每个用户迭代10次,那么这里显示100
3、Average:平均响应时间--默认情况下是单个Request的平均时间,当使用了Transaction Controller时,也可以以Transaction为单位显示平均响应时间
4、Median:50%用户响应时间
5、90%Line:90%用户的响应时间
6、Min:最小响应时间
7、Max:最大响应时间
8、Error%:本次测试出现错误的请求的数量/请求总数
9、Troughput:吞吐量---默认情况下表示每秒完成的请求数量(Request per second)如上图所示,每秒完成的请求数为257.1个每秒
10、KB/Sec:每秒从服务器端接收的数量,相当于Loadrunner的Throughput/Sec
二、为什么要有90%用户响应时间?
因为在评估一次测试的结果时,仅仅有平均事务响应时间是不够的。
单单根据平均事务响应时间是无法满足性能需求的,无法表示系统的性能已经满足了绝大多数用户的要求。
三、90%与平均事物响应时间,该以哪个为准?
在确定性能需求时,你可以用平均事务响应时间来衡量系统的性能,也可以用90%或95%用户响应时间来作为度量标准,它们并不冲突。
实际上,在定义某些系统的性能需求时,一定范围内的请求失败也是可以被接受的;
如果平均事务响应可以满足要求了,这个90%应该差不多也满足吧,所以看一个就行了;
如果有不一致的时候,比如,平均响应时间就在临界上了(比如某接口要求200ms达标),临界点达到190毫秒了,那么90%估计好不到哪儿去,可能超过200毫秒了。
四、接口性能测试指标一般通过标准:
五、性能测试(或称多用户并发性能测试)、负载测试、强度测试、容量测试是性能测试领域里的几个方面,但是概念很容易混淆。下面将几个概念进行介绍。
性能测试(Performance Test):通常收集所有和测试有关的所有性能,通常被不同人在不同场合下进行使用。
关注点:how much和how fast
负载测试(Load Test): 负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否能够承担。
关注点:how much
强度(压力)测试(Stress Test): 强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况,目的是找到系统在哪里失效以及如何失效的地方。包括
Spike testing:短时间的极端负载测试
Extreme testing:在过量用户下的负载测试
Hammer testing:连续执行所有能做的操作
容量测试(Volume Test): 确定系统可处理同时在线的最大用户数
关注点:how much(而不是how fast)
容量测试,通常和数据库有关,容量和负载的区别在于:容量关注的是大容量,而不需要表现实际的使用。
其中,容量测试、负载测试、强度测试的英文解释为:
Volume Testing = Large amounts of data
Load Testing = Large amount of users
Stress Testing = Too many users, too much data, too little time and too little room
可能大家觉得性能测试、负载测试和强度测试比较混淆。没错,这三个概念是比较容易使人糊涂。负载测试和强度测试,都属于性能测试的子集。下面举个跑步的例子进行解释。
性能测试,表示在一个给定的基准下,能执行的最好情况。例如,在没有负重的情况下,你跑100米需要花多少时间(这边,没有负重是基准)?
负载测试,也是性能测试,但是他是在不同的负载下的。对于刚才那个例子,如果扩展为:在50公斤、100公斤……等情况下,你跑100米需要花多少时间?
强度测试,是在强度情况下的性能测试。对于刚才那个例子,如果改为:在一阵强风的情况下,你在负重或没有负重的情况下,跑100米需要花多少时间?