Jmeter4.0---- 测试数据说明(17)
1.说明
jmeter工具对于请求的测试结果,有多种形式展现,但是数据比较难懂,现在针对不同的展现做具体的说明。
2.监听器
(一)图形结果
(1)样本数目:总共发到服务器的请求数
(2)最新样本:服务器响应最后一个请求的处理时间(单位:毫秒)
(3)平均:所有取样器结果的响应时间平均值(总运行时间除以发送到服务器的请求数)
(4)偏离:服务器响应时间变化,离散程度测量值的大小,即数据的分布。
(5)吞吐量:服务器每分钟处理的请求数
(6)中值:所有取样器结果的响应时间中间值(有一半的服务器响应时间低于该值而另一半高于该值)
(7)X轴:取样器个数的均匀分部轴
(8)y轴:处理时间(单位:毫秒)
(二)聚合报告
聚合报告中的时间单位ms(1000ms=1s)
(1)Label : 每个JMeter 的element(例如HTTP Request)都有一个Name属性,这里显示的就是Name属性的值
(2)#Samples : 表示你这次测试中一共发出了多少请求,如果测试计划模拟10个用户,每个用户迭代10次,这里就会显示100
(3)Average : 平均响应时间,默认情况下是单个Request的平均响应时间,当使用了事务控制器时,也可以以事务为单位显示平均响应时间
(4)Median : 中位数,也就是50%用户的响应时间(据按由小到大的顺序排列后,取出第50%位)
(5)90%Line : 90%用户的响应时间(据按由小到大的顺序排列后,取出第90%位)
(6)95%Line : 95%用户的响应时间(据按由小到大的顺序排列后,取出第95%位)
(7)99%Line : 99%用户的响应时间(据按由小到大的顺序排列后,取出第99%位)
(8)Min : 最小响应时间
(9)Max : 最大响应时间
(10)Error% : 错误率,本次测试中出现错误的请求的数量/请求总数
(11)Throughput : 吞吐量,默认情况下表示每秒完成的请求数(Request per Second)
(12)KB/Sec : 每秒从服务器端接受到的数据量(单位:千字节/秒)
(13)Received KB/sec----每秒从服务器端接收到的数据量(单位:千字节/秒)
(14)Sent KB/sec----每秒从客户端发送的请求的数量(单位:千字节/秒)
(三)用表格查看结果
(1)Sample:每个请求的序号
(2)start time:每个请求开始时间
(3)thread name:每个线程组名称
(4)label:请求类型,对应在测试计划下填写的请求名称
(5)Sample time:每个请求所花时间,单位毫秒(0.001秒(s)=1毫秒(ms) 1秒(s)=1000毫秒(ms) )
(6)Status:请求状态,如果为 √ 则表示成功,如果为 × ,则表示失败。
(7)Bytes:响应的字节数,请求的字节数。
(8)Sent Bytes:发送的字节数。
(9)Latency:延迟的时间,等待时长。(单位:毫秒)
(10)Connect Time(ms):连接服务器的时间。(单位:毫秒)
(11)样本数目:所有请求个数,样本数目 = 线程数(请求用户数)* 请求次数 。(单位:个)
(12)最新样本:最新样本响应时间,表示服务器响应最后一个请求的时间。(单位:毫秒)
(13)平均:所有请求的平均响应时间。(单位:毫秒)
(14)偏离:服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布。(偏离值是一个观察测试环境和系统稳定性的数据)
3.名词解释及分析
偏离值:偏离值是一个观察测试环境和系统稳定性的数据。偏离值越小则环境越稳定,所测得的数据越有效,反之,如果偏离值太大则说明环境不稳定,在这种情况下测得的数据就没什么价值,所以在测试的时候,必须要保证偏离值是小的。(可参考:http://blog.sina.com.cn/s/blog_5034424d010080ay.html)
吞吐率:单位时间内服务器处理的请求数来描述其并发处理能力。吞吐率,是单位时间内网络上传输的数据量,特指web服务器单位时间内处理的请求数。吞吐率是衡量网络性能的重要指标。通常情况下,吞吐率用“字节数/秒”来衡量。也可以用“请求数/秒”来衡量。吞吐量除以时间,所得到的单位时间内的数据量就是吞吐率。吞吐率代表着单位时间内所能承受的压力,是测试中一个重要的指标。通过比较吞吐量,可以发现系统的运行状态。当随着并发数增加时,吞吐率是不断增加的,当达到一个服务器极限后,再增加并发数,吞吐率会急速下降,直至服务器崩溃。所以,当达到临界点(吞吐量最高点,负载和处理均衡时)为“最大吞吐率”,是系统在运行下的一个理想阈值范围。
备注:一个请求还是一个页面,它的本质都是在网络上传输的数据,那么用来表述数据的单位就是字节数。
吞吐量:是指在一次性能测试过程中,网络上传输的数据量的总和。对于交互式应用来说:吞吐量指标反映的是服务器承受的压力。在容量规划的测试中:吞吐量是一个重点关注的指标,因为它能够说明系统级别的负载能力。另外,在性能调优过程中,吞吐量指标也有重要的价值。
比如:一个大型工厂,他们的生产效率与生产速度很快,一天生产10W吨的货物,结果工厂的运输能力不行,就两辆小型三轮车一天拉2吨的货物,说明的是这个运输能力(吞吐量)是整个系统的瓶颈。
只用吞吐量来衡量一个系统的性能(输出能力)是极其不准确的。
用个最简单的例子说明,一个水龙头开一天一夜,流出10吨水;10个水龙头开1秒钟,流出0.1吨水。此时当然是一个水龙头的吞吐量大。但是,你能说1个水龙头的出水能力是10个水龙头的强吗?显然不能。
所以,我们要加单位时间,看谁1秒钟的出水量大,这就是吞吐率
TPS:事务(Transaction Per second),就是用户某一步或几步操作的集合。每秒钟用户向web服务器提交的HTTP请求数。同时,要保证它有一个完整意义。每秒钟系统能够处理事务或交易的数量,它是衡量系统处理能力的重要指标。这个指标是web 应用特有的一个指标;web应用是“请求-响应”模式,用户发一个申请,服务器就要处理一次,所以点击是web应用能够处理的交易的最小单位。如果把每次点击定义为一个交易,点击率和TPS就是一个概念。点击率越大,对服务器的压力也越大,点击率只是一个性能参考指标,重要的是分析点击时产生的影响。
点击率:可以看做是TPS的一种特定情况。更能体现用户端对服务器的压力。
TPS:更能体现服务器对客户请求的处理能力。
比如:用户对某一个页面的一次请求,用户对某系统的一次登录,淘宝用户对商品的一次确认支付过程。这些我们都可以看作一个事务。
吞吐量,吞吐率的意义:
- 吞吐量的限制是性能瓶颈的一种重要表现形式,因此,有针对地对吞吐量设计测试,可以协助尽快定位到性能冰晶所在的位置。
- 80%系统的性能瓶颈都是由吞吐量制约。
- 并发用户和吞吐量瓶颈之间存在一定的关联。
- 通过不断增加并发用户数和吞吐量观察系统的性能瓶颈。然后,从网络、数据库、应用服务器和代码本身4个环节确定系统的性能瓶颈。
聚合报告中部分值的计算方法:
-
吞吐量 = 完成的请求数 / 完成这些请求数所需要的时间
-
平均响应时间 = 所有响应时间的总和 / 完成的请求数
-
失败率 = 失败的个数 / 总数
-
时间的计算方法是:通过timeStamp时间戳(发出的起始时间)相减而得