问题:
设置或不设置duration,事务何时开始停止?用户停在什么状态?
设置或不设置duration,事务何时开始停止?用户停在什么状态?
实验:
脚本:
Action() { //日志是随便打的,不写也无所谓只要有事务就可以了。 lr_start_transaction("test"); lr_log_message("Zee is a bad boy."); lr_think_time(10); lr_log_message("Yes,Yes"); lr_end_transaction("test", LR_AUTO); return 0; } |
场景一:
用户 | 10 |
Ramp up | 2 vusers/15sec |
duration | no |
Ramp down | no |
得到的Running Vusers图如下:
平均事务响应时间图:
(注:一不小心覆盖了原来的controller里跑的值,只有在analysis里看了,嘎嘎)
场景二:
把脚本中的思考时间改为10s:
用户 | 10 |
Ramp up | 2 vusers/10 sec |
duration | 50 sec |
Ramp down | no |
得到的Running Vusers图如下:
平均事务响应时间图:
解释:
在场景一中:
1, 在Running vusers图中可以看到,用户都是执行完事务(10秒左右)就退出了,如果没有duration并且设置了ramp up,则任一个用户在脚本执行完了后,就会退出,不会等到所有的用户都上来才开始退出。
2, 没有duration时,场景结束后,用户在passed的状态。
在场景二中:
1, 如果有duration,脚本在运行时,如果duration已经结束,事务还没有执行完,就会接着执行下去,直到事务完成,不会出现事务执行一半就断开的现象。
2, 设置了duration,场景结束后,用户在stopped。
在场景一中:
1, 在Running vusers图中可以看到,用户都是执行完事务(10秒左右)就退出了,如果没有duration并且设置了ramp up,则任一个用户在脚本执行完了后,就会退出,不会等到所有的用户都上来才开始退出。
2, 没有duration时,场景结束后,用户在passed的状态。
在场景二中:
1, 如果有duration,脚本在运行时,如果duration已经结束,事务还没有执行完,就会接着执行下去,直到事务完成,不会出现事务执行一半就断开的现象。
2, 设置了duration,场景结束后,用户在stopped。