运行场景-运行时设置
A. 查看、修改单个脚本的运行时设置
a) 途径1:
Scenario Groups、Scenario Groups Scripts面板中,选择记录行,右键脚本,选择Details,
或者双击记录行所在的Quantity、Load Generator列下的单元格,弹出对话框中选择Run-Time Settings
b) 途径2:
右键脚本,直接选择Run Time Setting
c) 途径3:
选择脚本记录行,点击下图图示的图标
B. 查看、修改与某个特定用户关联脚本的运行时设置
步骤1、选择脚本记录行,点击场景中的Vusers图标,如下图,
步骤2、弹出的Vusers(N)对话框,右键某个用户,选择Run-Time Settings
选择OK,打开运行时设置
注意:修改某一个用户的运行时设置将修改用户所在组所有使用相同脚本的用户的运行时设置。
C. 多个脚本的运行时设置
步骤1、在Scenario Groups/Scripts面板中选择多个脚本或包含多个脚本的Vuser组
(和选择excel记录一样的)
步骤2、右键选择选中记录并选择运行时设置Run-Time Settings
说明:
Shared RTS:为所有脚本同时修改运行时设置
Individual RTS:为每个脚本修改运行时设置.
步骤3、点击Shared RTS
D. 运行时设置项
运行前设置脚本的运行策略保证整个场景中的所有用户的运行方式正确。注意Controller中Run-Time Setting独立存放在场景.lrs文件中,并不会影响脚本在VuGen中运行的设置
a) Think Time
在VuGen中,Think Time默认为忽略,但是场景中,该选项会自动按照脚本录制的lr_think_time()函数进行运行,Think Time可以模拟真实用户的操作等待,这个值必须适当,可以考虑取一个熟练用户的操作速度和一个新用户的操作速度的平均值来设置合理的Think Time值。
b) 场景中MMDRV.EXE负载的生成方式
Load Generators会调用MMDRV.EXE来生成负载,而负载的生成分为进程方式和线程方式,使用进程模式模拟负载的资源开销相对较大,每个虚拟用户会使用一个单独的mmdrv.exe来完成负载的实现,这样做用户之间会相互独立,互不影响。
而如果使用线程方式,那么所有用户都是在一个mmdrv.exe上模拟,用户行为使用线程方式,模拟消耗资源较小。
一般来说,使用线程可以在固定的硬件平台上产生更多的负载模拟,但使用线程也会存在不稳定的情况,导致用户脚本执错误。
c) 系统日志设置
在场景中系统日志会从Always send message变为Send message only when an error occurs,不出现错误就不记录日志,这样可以减少负载时记录日志的资源开销,从而提高模拟效率,当需要进行错误跟踪时,再将其打开。
d) 关闭自动化事务
在脚本中都会对关键的操作添加事务从而获得响应时间,一般会默认设置自动化事务(对每个Action),导致每次都会多几个无关紧要的事务统计,为了避免多余的数据影响,建议关闭自动化事务选项。
e) 宽带模拟
宽带会直接影响到事务的响应时间,而真实环境下,每个用户的宽带也是有限的,这里需要为用户设置一个合理的宽带来得到真实用户访问的响应时间
通常情况下一个客户端在访问一个Web网站时的平均连接速度在30-50KB/s左右,这里可以选择512Kbps(DSL),为场景中的每个用户分配512Kb的带宽。为了避免出现模拟用户过多,导致load Generator出现带宽瓶颈的情况,需要在设置前进行计算,如果设置每个用户512Kb的带宽,那么在100Mb总带宽下,最多模拟个195用户(100*1000 / 512 = 195)。
f) IP代理