为何要在性能测试中设置考虑时间
发表于:2010-03-18来源:作者:点击数:
为何要在性能测试中设置考虑时间 性能测试工具 考虑时间Thinking Time指的是在 性能测试脚本 中,事务与事务之间,会有一些短暂的停顿,就好像真实用户在操作时,两次操作之间需要考虑一下。比如用户注册的时候,在打开注册页面到提交注册页面之间,是有一段
为何要在性能测试中设置考虑时间
考虑时间Thinking Time指的是在
下面就讨论一下在性能测试实战中,为什么要设置考虑时间。
先说一个概念:吞吐量,这指的是
试验发现,当运行2路的时候,两个程序的数值都降了下来,但是它们的总和仍然是6万次。而且不管我们起多少路,这些程序的性能总和都接近于6万。
这就好像一个人1分钟最快能吃1个馒头,你让他一个一个吃,他两分钟能吃2个,如果你让他一手拿一个,同时吃,他两分钟吃不了4个,还是只能吃两个。
我们不是在说“考虑时间”么,哈哈,别急,因为上面的问题必须要先说清楚。
如果我们需要进行性能测试的业务是一个单纯的业务,就好像上面举的那个例子一样,那么测试脚本中就不需要设置“考虑时间”,因为不管你用什么方法测试,一个服务系统处理单一业务的吞吐量总是一个定值。
但是在实际环境里面,往往一个系统都是要处理多种业务,并且这些业务之间是有逻辑关系的。举例说明,比如一个
好,如果我们不设置考虑时间,起2路A的脚本,1路B的脚本进行性能测试,我们会得到什么结果呢?我们会得到这两个业务的吞吐量,并且能算出每个小时系统完成A、B业务的总数,吞吐量 × 时间 = 总数。
这时我们发现,同样时间,AB业务的处理总数却不是2:1的关系,这是为什么呢?原因是这样的,我们在跑AB脚本的时候,这两组脚本都在尽全力争夺服务器的资源,他们的并发路数虽然是2:1,但是给服务器的压力却不一定是2:1,可能会出现偏差,测试结果就是最好的证据。A查看帖子由于响应时间短,因此跑的次数更多,最后的比例可能是4:1。
那么这样的结果有什么问题呢。总结为一句话:
比如上面的例子,如果我们测出的结果是B回复帖子的吞吐量不够,响应时间太长,那可能是因为A业务抢走了过多的,本不属于A的资源,而引起了B的性能降低。
说到这里,大家应该明白了,我们设置考虑时间,是为了保证测试复合业务的时候,各个业务之间的比例关系符合我们的真实生产环境。