·LR的运行时设置(Runtime settings):
·Run Logic:该选项是用来控制脚本的真正的运行逻辑。
·该选项会把脚本中的函数分别放入三个运行模块中:Init、Run、End
·默认情况下,vuer_init函数会放在Init部分、vuser_end会放在End部分。其他acthon函数会按原始顺序放入Run部分。
·执行逻辑:LR会按顺序依次执行Init、Run和End这三个模块。
·其中Init和End模块在每一个虚拟用户(线程或者进程)的生命周期中只会执行一次;Run模块是可以执行多次,次数由迭代次数(Number of iterations)或者持续时间(Duration)决定。
·迭代:iteration,在LR中,迭代是指Run部分的脚本完整的执行一次。即Run一次就是迭代一次。
·Pacing:该选项是用来设置两次迭代之间的间隔时间的。
一般来说,用得很少。它的作用和思考时间的作用极其接近。都是用来控制负载的。
·Log:日志选项。
·日志的作用:记录信息、帮助调试。
·日志的需求级别:调试比最终运行所需要的日志信息更多。
·日志的开启,本身会影响到最终的性能测试的结果。
·Think Time:思考时间选项。
在LR中,思考时间的实现是由:函数(Vugen中添加)和设置(Vugen或者Controller中设置)组合来实现。
在LR中,思考时间是不会影响到脚本的运行逻辑的。
PS:默认情况下,在vugen中,日志默认是always,思考时间是不开启;在Controller中,日志会自动变为error级别,思考时间会自动变成开启。
·Miscellaneous:杂项
这里会涉及到LR对于虚拟用户的实现方式的设置。
·Run Vuser as a thread:线程模式,是默认方式。即通过线程的方式去模拟实现虚拟用户,即一个线程就是一个虚拟用户。
·Run Vuser as a process:进程模式。即通过进程的方式去模拟实现虚拟用户,即一个进程就是一个虚拟用户。
PS:进程和线程都是操作系统中的概念,是操作系统运行任务的两种方式。
线程必须位于一个进程中,一个进程至少包含一个线程,可以包含多个线程。
在LR中,不论线程模式还是进程模式,运行虚拟用户的进程名都叫mmdrv.exe
默认情况下,使用线程模式,一个mmdrv.exe进程最多可以包含50个线程。即一个mmdrv.exe进程可以模拟50个虚拟用户。
在LR中,不同用户组的虚拟用户是不能共用一个进程的。
总结:线程模式的优点是节约资源。
从理论上来说,建议使用进程模式。现实中还是使用线程模式居多。
·Speed Simulation:带宽模拟
注意的是带宽的单位和吞吐量(throughput数据流量)的单位的区别。
带宽单位是bit
数据单位是byte。
1byte=8bit
·Browser Emulation:
注意事项:主要是要知道根据不同的测试需求去决定是否勾选Clear Cache选项。
默认情况下,LR是勾选的。。因为LR始终认为性能测试是一种悲观的测试。