运行场景-场景运行原理
运行原理
1 Remote Agent Dispatcher(Process)
运行Controller在负载机上开启应用程序。
2 Agent
LoadRunner Agent允许Controller和负载生成器load generator相互沟通。当运行场景时,Controller指示Remote Agent Dispatcher (Process)登录LoadRunner代理,agent接受到来自Controller的初始化、运行、暂停和停止用户的命令.同时agent向Controller反馈与Vusers状态相关的数据
在Run Logic中,任意一个脚本都是分为init、run、end三部分,当脚本在场景运行时,虚拟用户被初始化后先运行init,然后进入run,当整个run结束后场景会检查是否到达了该虚拟用户的结束时间,如果没达到,那么继续自动迭代这个run过程,直到虚拟用户到达结束时间该脚本停止run过程,最后完成end内容。
在场景运行结束时停止用户的模式有3种,打开Options(Tools->Options)对话框可以对其进行设置,
Controller的Options对话框中Run-Time Settings中提供了对Vuers停止时的策略设置,这也是为什么大多数情况下脚本到达停止时间后,并不会立即结束的原因。
其中,
Wait for eth current iteration to end before exiting:表示当用户需要停止时,会等待本次迭代结束,这个时候用户处于Gradual Exiting状态;
Wait for the current action to end before exiting:表示当用户需要停止时,会等待当前Action执行结束(一次迭代下可能会有多个Action),用户同样会处于Gradual Exiting状态;Stop immediately表示用户立即停止,不完成当前操作。
stopimmediately:立即停止
当设置负载用户的Duration持续策略为Run until completion时,run模块只会被运行一次。