51Testing软件测试论坛

标题: Run Vuser as a thread和Run Vuser as a process的困惑 [打印本页]

作者: shevahimhim    时间: 2007-8-2 13:47
标题: Run Vuser as a thread和Run Vuser as a process的困惑
各位tx,小弟遇到一个关于脚本的问题,希望哪位大侠帮忙解决一下.

小弟写了个java的脚本,在controller里跑,如果Vugen里设置Run Vuser as a thread,跑的时候会报错(Error: java.lang.NoClassDefFoundError),但是如果改成process,跑的时候就好了.

能不能指点一下是为什么啊?

谢谢.
作者: haiquan180    时间: 2007-8-2 13:49
关注ing.........  顺便问下 楼主帖子6 怎么积分可以达到46呢 sdlkfj8 有什么诀窍

[ 本帖最后由 haiquan180 于 2007-8-2 13:51 编辑 ]
作者: xingzunxi    时间: 2007-8-2 13:54
guanzhuzhong
作者: shevahimhim    时间: 2007-8-2 14:19
没有诀窍啊,46不正常吗?sdlkfj5
作者: spartan    时间: 2007-8-2 18:12
原帖由 shevahimhim 于 2007-8-2 13:47 发表
各位tx,小弟遇到一个关于脚本的问题,希望哪位大侠帮忙解决一下.

小弟写了个java的脚本,在controller里跑,如果Vugen里设置Run Vuser as a thread,跑的时候会报错(Error: java.lang.NoClassDefFoundError),但是 ...



我觉得如果设置为:run vuser as process容易出问题。 请看以下的简单分析:

controller使用驱动程序来运行vuser,如果按进程运行每个VUSER,则对于每个vuser, 在循环的过程中不断的加载同一个驱动程序到内存中。同样的驱动程序加载到内存中,会大量占用ram以及其他系统的资源。 从而影响了在负载生成器上的虚拟的用户数。(例如:本来可以模拟1000个用户的,由于内存大量被占用,最终只能模拟少于1000个虚拟用户的数量)。

但是如果按照线程运行每个VUSER, 则情况就不一样了。在默认情况下, controller为50个vusers开启一个驱动程序进程。这50个虚拟用户按照线程运行,共享父驱动程序的内存。 从而大大减少了内存的消耗,使得节省下来的内存LR可以运行更多的VUSERS.

----------分析来自LR8.2中文帮助
作者: Sands    时间: 2007-8-2 18:29
我们也遇到了同样的问题,有哪位可以给出答案阿?
作者: spartan    时间: 2007-8-2 18:30
再谈按线程运行VUSER和按进程运行VUSER的区别
1. 按线程运行VUSER,LR默认情况下,每50个用户开启一个进程mmdrv.exe;controller场景运行结束,进程mmdrv.exe也会相应结束;
2. 按进程运行VUSER,系统为每1个用户开启一个进程mmdrv.exe;controller场景运行结束,进程mmdrv.exe也会相应结束;

大家可以做个试验, 在Runtime setting中设置为按线程运行VUSER,设置Controller中的虚拟用户数小于等于50的话,打开windows资源管理器可以看到有一个进程mmdrv.exe; 设置Controller中的虚拟用户数为51的话,打开windows资源管理器可以看到有两个进程mmdrv.exe; 按照50的倍数依次类推.................

在Runtime setting中设置为按进程程运行VUSER,设置Controller中的虚拟用户数10的话,打开windows资源管理器可以看到有10个进程mmdrv.exe;设置Controller中的虚拟用户数20的话,打开windows资源管理器可以看到有20个进程mmdrv.exe; 多少个虚拟用户数,就会有多少个进程,依次类推......................
作者: shevahimhim    时间: 2007-8-3 11:35
谢谢楼上tx的回答先.
可是怎么解释在controller里面跑会报错呢.设置成thread的时候会报错,但是设置成process就好了.在controller里面只用了1个vuser跑.
而且如果用Vugen跑的话两种模式都可以过.

confusing......sdlkfj9




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