51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

楼主: sqlserveroracle
打印 上一主题 下一主题

[讨论] 30个小时发现loadrunner严重的bug

[复制链接]

该用户从未签到

34#
发表于 2008-12-10 22:19:27 | 只看该作者

LR8.1 运行脚本时会自动退出会不会是BUG

我用LR8.1 运行脚本时会自动退出  操作系统windowsXP sp2  IE6.0
回复 支持 反对

使用道具 举报

该用户从未签到

33#
发表于 2008-12-10 20:19:35 | 只看该作者

经典,强烈要求加精

经典,强烈要求加精
回复 支持 反对

使用道具 举报

该用户从未签到

32#
发表于 2008-12-10 19:44:31 | 只看该作者
原帖由 sqlserveroracle 于 2008-12-10 16:39 发表
你这个内容:50个用户会启动一个进程,这个信息很重要,但是static CMutex sCSFile;//共享互斥访问,CMutex就是进程锁,不是线程锁(MSDN上面说的很明白)。。。。。。。
但我不知道为什么Loadrunner50个用户就会启 ...

CMutex是进程锁(上面的帖子我说错了,sorry ),static CMutex sCSFile;创建的是匿名进程锁,当LR启动两个进程时,每个进程拥有的锁可能不是同一个了(很有可能是两个匿名进程锁)你应该在构造函数里面指定唯一名字,这样可以保证LR启动的进程用的是同一把锁。其实用Win32的CreateMutex在进程attach的时候创建要更好些。
回复 支持 反对

使用道具 举报

该用户从未签到

31#
发表于 2008-12-10 18:37:40 | 只看该作者
是的,我也就是开开玩笑随便一说,因为无论LR,Winrunner,QTP还是以前用IBM 的工具,感觉工具自身的稳定性都不是太好,不过最核心的问题,人家还是解决了的!原来每50个就会启一个进程,这就解释了LZ的疑惑了!多谢winmeeasy,我这人就是立场不坚定!
回复 支持 反对

使用道具 举报

该用户从未签到

30#
 楼主| 发表于 2008-12-10 17:48:22 | 只看该作者

回复 26# 的帖子

CMutex就是线程和进程都是安全的,我晚上再回去试试................
回复 支持 反对

使用道具 举报

该用户从未签到

29#
 楼主| 发表于 2008-12-10 16:39:31 | 只看该作者

回复 24# 的帖子

你这个内容:50个用户会启动一个进程,这个信息很重要,但是static CMutex sCSFile;//共享互斥访问,CMutex就是进程锁,不是线程锁(MSDN上面说的很明白)。。。。。。。
但我不知道为什么Loadrunner50个用户就会启动一个进程而不是线程,我写程序启动可以启动500个线程都没事,为什么那样做呢?
好,即使按照你所说的,那如果dll是线程安全的,那么我还要设计进程安全,这不是很麻烦。。。。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

28#
发表于 2008-12-10 15:37:05 | 只看该作者
呵呵,这个帖子含金量高,应该加精不能沉!
回复 支持 反对

使用道具 举报

该用户从未签到

27#
发表于 2008-12-10 15:15:24 | 只看该作者
果然强人多哈 我也在慢慢学
回复 支持 反对

使用道具 举报

该用户从未签到

26#
发表于 2008-12-10 13:11:35 | 只看该作者
原帖由 winmeeasy 于 2008-12-10 10:47 发表
To 楼主:
你所说的不是Loadrunner的bug,是你的用法不对。LoadRunner在跑虚拟用户的时候是每50个用户会启动一个进程(LR说明书有,通过任务管理器也能观察到),楼主代码里面在写日志文件的时候用的是线程锁而不是进 ...

细心!
回复 支持 反对

使用道具 举报

该用户从未签到

25#
发表于 2008-12-10 10:53:02 | 只看该作者
原帖由 zengyixun 于 2008-12-2 17:46 发表
LR做c/s是挺烦的,一个测试工具这么多bug,是不是他们公司自己的测试做得不好造成的,让我们怎么相信他们呢,呵呵,我这几天也在测UDP的的应用,send是还简单的啦,我都没有你的烦恼,如果你这种只关系到服务器的话, ...

to zengyixun:当你真正理解了LoadRunner的运行机制后就不会有这种想法了 ,LR测C/S要饶不少弯,不过用熟了以后比直接写测试代码还是要快得多,并且比较稳定,事后数据分析功能强。
回复 支持 反对

使用道具 举报

该用户从未签到

24#
发表于 2008-12-10 10:47:54 | 只看该作者
To 楼主:
你所说的不是Loadrunner的bug,是你的用法不对。LoadRunner在跑虚拟用户的时候是每50个用户会启动一个进程(LR说明书有,通过任务管理器也能观察到),楼主代码里面在写日志文件的时候用的是线程锁而不是进程锁,因此50个用户不会出问题,100个用户由于启动了两个进程在并发时当然有可能出问题。
另外,你用的是UDP,我敢肯定你的发包程序本身就不是线程安全的,要是你改成TCP还会出更多的错误。用写DLL方式测C/S的时候,DLL里面申请的变量(包括socket),一定要做到线程安全才行,请参考核心编程的线程本地存储TLS这一节,否则会出意想不到的错误。
还有,写DLL的时候还要在dllmain函数里面对DLL_PROCESS_ATTACH,DLL_THREAD_ATTACH,DLL_THREAD_DETACH,DLL_PROCESS_DETACH单独进行处理。
回复 支持 反对

使用道具 举报

该用户从未签到

23#
发表于 2008-12-10 10:14:53 | 只看该作者
我是新手,,看不懂。。学习了
回复 支持 反对

使用道具 举报

该用户从未签到

22#
发表于 2008-12-9 23:51:04 | 只看该作者
这个问题我也碰到过,但是我认为是自定义的DLL设计的问题。
首先,LR的虚拟用户可以设置为以独立线程运行还是独立进程运行。
其次,如果以独立线程运行,那么DLL只被加载一次,也就是白加载到主进程的地址空间里;你的虚拟用户是各个不同的线程,他们都访问同样的主进程的地址空间中的DLL拷贝,所以你要吧DLL设计为线程安全的。
最后,如果是以独立进程运行,那么就不需要考虑线程安全了。
回复 支持 反对

使用道具 举报

该用户从未签到

21#
发表于 2008-12-9 17:36:14 | 只看该作者
等待楼主的,继续爆料。。。
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2008-12-9 13:52:46 | 只看该作者
学习了
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2008-12-9 11:48:44 | 只看该作者

回复 1# 的帖子

支持哈,新手,虽然看不太懂,先了解起,以后若碰到了,思路就有了,非常感谢
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2008-12-5 11:44:13 | 只看该作者

不能沉啊

这个贴子不错,希望继续!!!
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2008-12-2 17:46:02 | 只看该作者
LR做c/s是挺烦的,一个测试工具这么多bug,是不是他们公司自己的测试做得不好造成的,让我们怎么相信他们呢,呵呵,我这几天也在测UDP的的应用,send是还简单的啦,我都没有你的烦恼,如果你这种只关系到服务器的话,又只是send,我觉得应该不用搞这么复杂,我现在头大的就是要处理recv的情况,接收一多,length就为0,接收要为0的话,我还怎么分析数据呀!唉,头大!
回复 支持 反对

使用道具 举报

该用户从未签到

16#
 楼主| 发表于 2008-12-2 17:27:39 | 只看该作者
无论我的方法不对,或者想法有问题,总之,调用lr_load_dll应该只能装载一次,在内存地址都是唯一的,loadrunner的出现使大家省去了许多控制线程同步和互斥的,但如果真是我所说的那个问题,毕竟是个严重的bug........
被loadrunner搞的真烦,要是我自己写压力测试工具,早就写好了,,,
刚才发现loadrunner又有个严重的bug,改天跟大家说说。。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

15#
 楼主| 发表于 2008-12-2 17:20:29 | 只看该作者

回复 13# 的帖子

呵呵
1.这是UDP方式不是TCP方式,客户重点说明的。。。。
2.lr_output_message提供写文件功能,但写到不同文件并且还有其他日志,什么MessageID,vuser_init,1000个文件就把你看死,保存变量那怎么输出呢????
项目要的是丢包率,而不是响应时间,所以等等也无所谓
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-9-27 02:16 , Processed in 0.075363 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表