Jmeter 测试结果分析之聚合报告简介
by:授客 QQ:1033553122
聚合报告(aggregate report)
对于每个请求,它统计响应信息并提供请求数,平均值,最大,最小值,错误率,大约吞吐量(以请求数/秒为单位)和以kb/秒为单位的吞吐量.
吞吐量是以取样目标点的视角来统计的(例如:HTTP请求样例中设置的远程服务器). JMeter会把已生成请求的总响应时间考虑在内,所以,如果相同线程组中有其它取样器或定时器,将增加总时间,进而减少吞吐量的值。因此,两个仅名称不同的取样器,其吞吐量为该两个取样器吞吐量总和的一半。正确的选择取样器名字对于重聚合报告中获取最佳的结果来说很重要。
个人理解:不管是否有其它取样器还是定时器,这里主要是基于时间和请求数的计算,吞吐量 = 请求数/总时间,拿定时器来说,它具有线程延迟功能,不增加请求数的情况下,增大总时间,自然吞吐量就减少了。
这笔者做了个实验,每次运行一次,每次手动运行,且每次运行前不清空结果,运行测试,查看聚合报告显示。因为手动运行,每两次运行期间,都有空闲期,在这段空闲期有时候还比较长,几分钟到几十分钟不等。
结果发现,聚合报告是累加的,即每次运行的结果统计都是基于前一次运行的结果进行统计,包括发起的请求样本数等都是叠加的,比如我11:00运行一次,发起10个请求,11:20运行一次,发起10个请求,这时聚合报告显示请求数为20个,而此时的吞吐量和第一次运行相差甚远,个人猜测它把11:00到11:20期间非运行状态的时间也算进去了。所以,总时间大大增加。
不勾选“标签中不包含名称(include group name in label)”复选框
注意:使用聚合报告时,测试计划中不要用相同的的请求取样器名称
表头说明:
Label - 如图,在不勾选 "Include group name in label?"复选框的情况下,为请求取样器的名称,否则为“请求取样器所在线程组:请求取样器名称”,如下
# Samples - 用同一个请求取样器,发送请求的数量(注意:该值是不断累计的)。比如,10个线程数设置为10,迭代10次,那么每运行一次测试,该值就增加10*10=100
Average - 默认情况下是单个Request的平均响应时间,当使用了Transaction Controller 时,也可以以Transaction为单位显示平均响应时间
Median - 中位数。表示响应时间本不大于该时间值的请求样本数占总数的50%
90% Line - 表示响应时间不大于该时间值的请求样本数占总数的90%
Min - 针对同一请求取样器,请求样本的最小响应时间
Max - 针对同一请求取样器,请求样本的最大响应时间
Error % - 出现错误的请求样本的百分比
Throughput - 吞吐量以“requests/second、requests /minute、 requests /hour”来衡量。 时间单位已经被选取为second,所以,显示速率至少是1.0,即每秒1个请求。 当吞吐量被保存到CVS文件时,采用的是requests/second,所以30.0 requests/second 在CVS中被保存为0.5
Kb/sec - 以Kilobytes/seond来衡量的吞吐量
注意:
1.无特别说明,以上时间的单位均为ms
2.请求响应时间指的是从client端发出请求到得到响应的整个时间
http://jmeter.apache.org/usermanual/component_reference.html#Aggregate_Report