在场景监控的过程中,想知道场景运行时Vusers的运行状态以及每一个Vuser虚拟用户在本次场景运行的过程共迭代了多少次,那么就需要在VuGen脚本中自定义显示虚拟用户状态信息。
代码如下:
static int iteration; Action_userStatus() { //在VuGen脚本中显示参数值,参数化名为param lr_output_message("当前参数:%s",lr_eval_string("{parameter}")); //这里设置一定的思考时间,相应地减少此段监控代码对负载生产器产生的压力,减缓系统资源,以避免影响测试结果 lr_think_time(4); //在Controller监控窗口中显示当前参数值和当前迭代的次数 lr_vuser_status_message("当前参数:%s,迭代次数:%d",lr_eval_string("{parameter}"),++iteration); return 0; }
运行场景后(Run界面),点击Vuser打开虚拟用户运行时的观察界面,可以看到每个虚拟用户在场景中的迭代次数,也可以计算出本次场景运行共迭代了多少次(即跑了多少次Action里的脚本代码),如图:
观察每个虚拟用户尝试了多少次迭代,多少次迭代成功,如图:
通过以上的运行监控,可以得出一个结论:
Controller场景中设置的“Run-time Settings”会覆盖VuGen脚本的中的“Run-time Settings”设置,在Controller场景中设置运行时的迭代次数,是由场景计划里面所设置的“持续时间”决定的,持续时间长场景的迭代次数就相应会多(ps:相应的TPS、吞吐量也会随之增加)。