啸:呼啸;瀚:浩瀚。心胸要宽阔,犹如浩瀚的沙漠;沉默是金但是要记住,沉默是为了推翻一切,淹没时间的不公不正,像呼啸的暴风雨一样势不可挡。
《LoadRunner 没有告诉你的》之一——描述性统计与性能结果分析
上一篇 /
下一篇 2009-08-14 15:40:30
/ 个人分类:性能测试
51Testing软件测试网*R,q7E oI.R4tn:z
z@+oi
x+WQH0LoadRunner中的90%响应时间是什么意思?这个值在进行性能分析时有什么作用?本文争取用最简洁的文字来解答这个问题,并引申出“描述性统计”方法在性能测试结果分析中的应用。51Testing软件测试网%DHajoQ3C l&{v
51Testing软件测试网N\*fu6tYo
51Testing软件测试网TI3r-zJ+J
为什么要有90%用户响应时间?因为在评估一次测试的结果时,仅仅有平均事务响应时间是不够的。为什么这么说?你可以试着想想,是否平均事务响应时间满足了性能需求就表示系统的性能已经满足了绝大多数用户的要求?
nc(d#I9SC|'R3vq0假如有两组测试结果,响应时间分别是{1,3,5,10,16}和{5,6,7,8,9},它们的平均值都是7,你认为哪次测试的结果更理想?
9L2ZHa!kwM-j!zFm0假如有一次测试,总共有100个请求被响应,其中最小响应时间为0.02秒,最大响应时间为110秒,平均事务响应时间为4.7秒,你会不会想到最小和最大响应时间如此大的偏差是否会导致平均值本身并不可信?51Testing软件测试网W@ K)E)P7|)co
为了解答上面的疑问,我们先来看一张表:51Testing软件测试网%sdT
{6M*{It8V
51Testing软件测试网.[#K9{,O5m
51Testing软件测试网
sHFk-o5o8g3x
F sp$c:bn io0在上面这个表中包含了几个不同的列,其含义如下:
%f['d`lR0CmdID 测试时被请求的页面
e.B`*Q ]%[0NUM 响应成功的请求数量51Testing软件测试网ns"dR^k"WH
MEAN 所有成功的请求的响应时间的平均值51Testing软件测试网V)lPF%t{T^
STD DEV 标准差(这个值的作用将在下一篇文章中重点介绍)51Testing软件测试网({\Iqf
x+HS t
MIN 响应时间的最小值
7EQ
b%]*Y y050 th(60/70/80/90/95 th) 如果把响应时间从小到大顺序排序,那么50%的请求的响应时间在这个范围之内。后面的60/70/80/90/95 th也是同样的含义
R}c
m?0MAX 响应时间的最大值
9rX?T^dq2S:G"k0我想看完了上面的这个表和各列的解释,不用多说大家也可以明白我的意思了。我把结论性的东西整理一下:
3hO/Lo,\01. 90%用户响应时间在LoadRunner中是可以设置的,你可以改为80%或95%;51Testing软件测试网D0T?DF9v$K
2. 对于这个表,LoadRunner中是没有直接提供的,你可以把LR中的原始数据导出到Excel中,并使用Excel中的PERCENTILE函数很简单的算出不同百分比用户请求的响应时间分布情况;51Testing软件测试网&W.n1?WtyX/P
3. 从上面的表中来看,对于Home Page来说,平均事务响应时间(MEAN)只同70%用户响应时间相一致。也就是说假如我们确定Home Page的响应时间应该在5秒内,那么从平均事务响应时间来看是满足的,但是实际上有10-20%的用户请求的响应时间是大于这个值的;对于Page 1也是一样,假如我们确定对于Page 1的请求应该在3秒内得到响应,虽然平均事务响应时间是满足要求的,但是实际上有20-30%的用户请求的响应时间是超过了我们的要求的;51Testing软件测试网vT5@$O9sU-B9Nb
4. 你可以在95 th之后继续添加96/ 97/ 98/ 99/ 99.9/ 99.99 th,并利用Excel的图表功能画一条曲线,来更加清晰表现出系统响应时间的分布情况。这时候你也许会发现,那个最大值的出现几率只不过是千分之一甚至万分之一,而且99%的用户请求的响应时间都是在性能需求所定义的范围之内的;