51Testing软件测试论坛

标题: 有关响应时间 [打印本页]

作者: hellofruit    时间: 2006-7-11 15:44
标题: 有关响应时间
我用LoadRunner测试一个虚拟用户的时候,平均响应时间为20秒(重负载),设置两个虚拟用户的时候测试的平均响应时间为10秒左右,为什么会出现这种问题?
作者: robust    时间: 2006-7-11 16:09
原帖由 hellofruit 于 2006-7-11 15:44 发表
我用LoadRunner测试一个虚拟用户的时候,平均响应时间为20秒(重负载 )

你的这个“重负载 ”是什么意思,你是怎么实现重负载的?
作者: xingcyx    时间: 2006-7-11 16:51
你是怎么执行脚本的?执行了多少次迭代或者持续了多少时间?
性能测试不能仅凭一次运行的结果来下结论,一定要多运行几次,或者让它执行一段持续的时间。
作者: hellofruit    时间: 2006-7-11 19:11
重负载主要是相对于数据量来说的。
我先把背景大致说明一下:这是一个有关代理商预订某些供应商的产品的网站,代理商登录后,先查询供应商的产品,再订购选中的产品。这个测试场景的目的就是测试并发用户查询供应商产品的响应时间。
这个系统是tomcat+hibernate+jdk1.4+oracle的架构,由于业务的原因,查询产品需要涉及到7-8个表,我编写了oracle的脚本来生成了这个系统预期最高峰值的数据(所以使用了“重负载”这个词语),使用oracle查询时,最快的返回时间为6秒,再通过hibernate+tomcat的解析之后,单个用户需要20秒钟才能返回结果。
再说一下脚本的录制过程。由于我是初学者(正式接触LoadRunner两三天时间),录制的过程是按照网上通传的《LoadRunner使用手册》来做的,没有设置参数化(后来也测试过,都是相同的结果),
在提交查询前设置了事务,并且设置了集合点(集合点在前,事务在后,不知道这个前后顺序有没有影响?)。
运行controller,选择了“Manual Scenario”,将vuser设置为2,schedule是系统默认的,集合点的time out 时间设为180sec,执行"start scenario“后,事务的响应时间分别为:max:20.624 min:0.238 Ave:9.298 Std:10.130 last:20.624,给我的感觉就好像vuser只执行了一个,另一个没有执行。(多次执行也是相同的结果,如果设置Duration为Run indefinitely时,时间会增加,但min感觉不对)
我将数据量减少,用相同的录制脚本相同的schedule设置执行之后,就发现vuser=2时的响应时间比vuser=1的响应时间会多。
作者: xingcyx    时间: 2006-7-12 09:31
1、集合点通常都应该在事务之前,否则的话你统计的事务时间就不准确了。
2、为什么你会认为vuser只执行一个呢?光从你给的这个数据看不出什么问题来。建议你不妨再多加几个用户试试,这样效果看起来会明显一些。另外你可以看看后台的日志,到底是执行了一个vuser还是两个,看一下日志不就清楚了?
作者: hellofruit    时间: 2006-7-12 11:55
你所指的后台日志是待测系统的后台日志还是controller执行的日志,如果是指前者,我看到的只是一个用户执行。
是不是跟session有关,因为我们的这个系统在每个页面上都判断了session,如果是这样的话是不是要用户参数化设置?
作者: hellofruit    时间: 2006-7-12 14:08
谢谢xingcyx,此问题已经通过参数化设置解决了。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2