wensy 发表于 2008-6-24 15:09:53

运行录制的场景,为何所有的事务都失败?!

环境为Apache+Mysql
录制的场景为:用http/html协议,录制打开页面-〉链接-〉查询操作
运行:100并发,每2s加5vuser,持续5分钟

但是看到了事务都是失败,直通过了1个。
错误项:报错的代码为26609 26612,打开报错的连接是正常的。

不知道为何是这样情况。请求赐教点拨

贴出录制的脚本和失败的信息:

rickyzhu 发表于 2008-7-1 13:14:08

试试并发10个用户先

aks5201314 发表于 2008-7-1 14:25:55

楼主录制的脚本回放能成功运行吗?我看脚本中的函数web_link()括号中有乱码,回放肯定会失败的.web_link()的乱码必须要解决.很可能是LR的字符集和被测试应用的字符集不一致而导致出现乱码的.

jasonxu 发表于 2008-7-2 17:46:40

1.解决乱码问题(乱码不会导致事务出错的)。依次点击Tools--General Options--Environment那个字体选择 宋体 ,重新录制一下就不会出现乱码了。
2.如果能成功回放说明脚本没有问题,如果不能成功回放请把日志中出错信息发上来。
3.如果脚本能重新回放,那么脚本没有问题,那么是场景的设置问题。
   从你提供的场景设置来看,设置是非常不合理的,首先并发100个用户,我不知道你为什么要选择一百个用户,并发的含义就是在同一时刻有一百个用户同时做某个操作,这种除非是非常大的系统,否则100个用户同时执行相同的操作的概率是非常非常小的,这样设没有什么意义,并发对服务器的压力是非常大的,一百个一定是一下子把服务器弄崩溃了。
   第二,每2s钟增加5个用户,这个时间间隔也不是随便设的,你应该明白一个用户执行完这个脚本所需要的时间,这个时间间隔理论上是越长测出来的结果越精确,但是实际上没有那么多的时间,因此要设置一个合理的值。就像让你扛东西一样,你一件东西还没有扛到终点,就马上加了一个东西在你背上,你受得了吗?服务器也是同样的道理,需要一定的时间去适应,否则测出来的结果当然是不对的。
    第三,运行5分钟时间太短了,运行的结果得到的大部分是平均值,因此测的时间越长这个数据便越精确,在曲线上反应便是曲线越平滑,有条件的话可以下班的时候跑到第二天早上上班(要注意把电脑的自动待机关掉)
    由于时间关系不多说了,总之工作和学习不一样,要从实际出发,不要指望把学过的东西在一个项目中全部用上,就像很多刚毕业的学员总是喜欢加集合点一样,其实我们集合点是很少用的,除非客户有要求或者是非常大的系统,小的系统不是很关注这个的。有问题欢迎留言~

jacksboy 发表于 2008-7-2 19:16:10

楼上到底是见过世面的..说的话就是不一样,呵呵

liujg 发表于 2008-7-3 09:54:18

第二,每2s钟增加5个用户,这个时间间隔也不是随便设的,你应该明白一个用户执行完这个脚本所需要的时间,这个时间间隔理论上是越长测出来的结果越精确,但是实际上没有那么多的时间,因此要设置一个合理的值。就像让你扛东西一样,你一件东西还没有扛到终点,就马上加了一个东西在你背上,你受得了吗?服务器也是同样的道理,需要一定的时间去适应,否则测出来的结果当然是不对的。

3楼的说的很对!不过我不太明白你说的第二啊!谢谢~

dongranran 发表于 2008-7-3 13:48:38

是的 ,设置场景的时候 ,主要考虑什么 ?

多谢楼主的解释。讲的在细一些好吗

jasonxu 发表于 2008-7-3 14:05:04

原帖由 liujg 于 2008-7-3 09:54 发表 http://bbs.51testing.com/images/common/back.gif
第二,每2s钟增加5个用户,这个时间间隔也不是随便设的,你应该明白一个用户执行完这个脚本所需要的时间,这个时间间隔理论上是越长测出来的结果越精确,但是实际上没有那么多的时间,因此要设置一个合理的值。就像让 ...
就是说对服务器加压需要一个过程,不能在很短的时间内给服务器加很多的虚拟用户上去,如果是压力测试或者是负载测试,这样一次加很多上去,服务器可能会在较短的时间内垮掉,导致测试得出的数据不准确。打个比方,如果是缓慢的加用户上去服务器可以承受100个,那么如果加得太快服务器就承受不了100个,可能只有六七十个。
如果说一个用户执行完这个事务需要10秒,那么如果你每间隔1秒就加一个用户,就近似于服务器同时被10个用户访问,这个压力是很大的,如果虚拟用户比较多的话,服务器就吃不消了。

liangjz 发表于 2008-7-3 22:45:47

但是看到了事务都是失败,直通过了1个。
错误项:报错的代码为26609 26612,打开报错的连接是正常的。 ?

最好把详细的错误信息都放上去。

然后检查服务器日志 error_log。jasonxu提示的插入字节码可能不是MYSQL预期的
页: [1]
查看完整版本: 运行录制的场景,为何所有的事务都失败?!