场景设计-集合点设置

by:授客 QQ1033553122

1  作用

通过让多用户在同一时间点上进行并发操作来测试系统的并发处理的能力

2  实现

通过集合点函数来实现。

注意:集合点经常和事务结合起来使用。集合点只能插入到Action部分,vuser_init

和 vuser_end 中不能插入集合点。所以,如果要模拟并发登录,那么必须把登录操作放到Action中


具体步骤

例子:模拟10个用户并发登录Web
Tours

1、插入集合点函数

打开VuGen,光标定位在要插入Insert-
>Rendezvous


 

填写集合点名称

说明:集合点的名称最好要有意义,能够清楚的说明该集合点完成的动作。

查看脚本(新增集合点函数rendezvous)

 

Action2()

{

lr_rendezvous("login"); //插入集合点

//提交登录表单

web_submit_data("login.pl",

"Action=http://127.0.0.1:1080/WebTours/login.pl",

"Method=POST",

"TargetFrame=",

"RecContentType=text/html",

"Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home",

"Snapshot=t10.inf",

"Mode=HTML",

ITEMDATA,

"Name=userSession", "Value=114160.918590522fiHcVfcpcfDfcDcpQVDf",
ENDITEM,

"Name=username", "Value=jojo", ENDITEM,

"Name=password", "Value=bean", ENDITEM,

"Name=JSFormSubmit", "Value=off", ENDITEM,

"Name=login.x", "Value=45", ENDITEM,

"Name=login.y", "Value=3", ENDITEM,

LAST);

return 0;

}

当脚本在多用户运行的情况下,每次运行到这个函数都会检查一下集合点的策略来决定是等待还是继续运行

 

2、集合点设置

利用脚本创建场景,Controller中,Scenario->Rendezvous…

说明:仅当脚本中含有集合点函数时,才可以设置场景中的集合点。


 

说明:这里可以根据需要禁用/开启集合点,禁用或开启用户,可设置集合点策略

 

2.1、 策略设置

说明:

a)  Policy

满足后策略才释放虚拟用户

策略1:Release
when N% of all Vusers arriver the rendezvous

是指占全部用户百分之N的用户都运行到了集合点函数才释放集合,然后让这些用户并发运行后面的脚本

策略2:Release
when N% of all running Vusers arriver at the rendezvous

是指占所有正在运行用户百分之N的用户都运行到了集合点才释放集合,然后让这些用户并发运行后面的脚本。

策略3:Release
when N Vusers arrive at the rendezvous

是指指定数量(N)的用户运行到了集合点才释放集合,然后让这些用户并发运行后面的脚本

b) 
Timeout between Vusers N seconds(集合点超时)

超时时间是指虚拟用户之间的时间差,当出现两个虚拟用户到达集合点的时间差超过设定的超时时间时,所有在集合点处于等待状态中的用户将全部释放。


脚本运行时,每个虚拟用户到达集合点时都会去检查一下集合点的策略设置,如果不满足,那么就在集合状态等待,直到集合点策略满足后,才运行下一步操作。但
是可能存在前一个虚拟用户和后一个虚拟用户达到集合点的时间间隔非常长的情况,所以需要设置一个超时的时间,如果超过这个时间就不等待迟到的虚拟用户了

这里选择策略1,保存,设计场景,每5秒开启2个用户

查看查看运行到集合点的用户数


注意事项

1、集合点和事务

集合点应该放在事务外,如果事务内存在集合点,那么虚拟用户在集合点等待的过程也会被算入事务时间,导致早进入集合点的用户的响应时间有误。

2、集合点和Action。

集合点仅对Action
section起作用。对init
action或end
action无效,无法设置集合点

3、集合点是分批次的(按指定数量一批一批的运行)

那么如果有10个用户,设置指定8个用户到达集合点才运行,那么前面8个到达集合点则释放该8个用户,后面到达集合点的用户也是等到满足8个用户才运行,等待超时除外。

loadrunner 场景设计-集合点设置的更多相关文章

  1. loadrunner场景之集合点设置技巧

    在loadrunner的虚拟用户中,术语concurrent(并发)和simultaneous(同时)存在一些区别,concurrent 是指虚拟场景中参于运行的虚拟用户. 而simultaneous ...

  2. loadrunner 场景设计-手工场景方案(Schedule)设计 Part 1

    参考:http://blog.sina.com.cn/s/articlelist_5314188213_1_1.html loadrunner 场景设计-手工场景方案(Schedule)设计 Part ...

  3. loadrunner 场景设计-手工场景方案(Schedule)设计 Part 2

    loadrunner 场景设计-手工场景方案(Schedule)设计 Part 2 ---------------------------接Part 1------------------------ ...

  4. LoadRunner 技巧之 集合点设置

    LoadRunner 技巧之 集合点设置 Loadrunner 技巧已经整理4篇了,你个一定疑问,这些知识点,网上随处可见.确实,由于长时间没有使用这个工具,造成我的一些概念开始在大脑中模糊,我只是用 ...

  5. loadrunner 场景设计-设置结果文件保存路径

    场景设计-设置结果文件保存路径 by:授客 QQ:1033553122 Results->Results settings Results Name 结果文件夹名称 Directory 指定结果 ...

  6. loadrunner 场景设计-制定负载测试计划

    by:授客 QQ:1033553122 场景设计-制定负载测试计划 步骤1.分析应用程序 你应该对硬件和软件组建,系统配置和典型的使用场景很熟悉.这些应用程序的分析保证你在使用loadrunner进行 ...

  7. loadrunner 场景设计-手工场景方案(Schedule)设计

    场景设计-手工场景方案(Schedule)设计 by:授客 QQ:1033553122 A.   定义方案schedule 在 Scenario Schedule面板中,选择一个方案schedule, ...

  8. 【Loadrunner】初学Loadrunner——场景设计

    在使用Loadrunner的时候,常常需要使用到场景设计.但是怎么设计一个满意的场景?如何开展? 首先可以点击tools > Create Controller Scenario > OK ...

  9. loadrunner 场景设计-学习笔记之性能误区

    场景设计-学习笔记之性能误区 by:授客 QQ:1033553122 场景假设: 每个事务仅包含一次请求,执行10000个并发用户数 性能误区: 每秒并发用户数=每秒向服务器提交请求数 详细解答: 每 ...

随机推荐

  1. js的微观性能

    概述 js的微观性能是指js的某一个表达式或者某一行或者某一块代码的性能.几天前和同事讨论过这方面的内容,今天深入研究了一下,记录下来,供以后开发时参考,相信对其他人也有用. 从一段代码说起 记得以前 ...

  2. Leetcode:148_Sort List | O(nlogn)链表排序 | Medium

    题目:Sort List Sort a linked list in O(n log n) time using constant space complexity 看题目有两个要求:1)时间复杂度为 ...

  3. PID file /run/zabbix/zabbix_server.pid not readable (yet?) after start. 报错解决

    报错如下: [root@localhost zabbix]# systemctl start zabbix-server Job for zabbix-server.service failed be ...

  4. Django MTV

    MTV模型 Django的MTV分别代表: Model(模型):负责业务对象与数据库的对象(ORM) Template(模版):负责如何把页面展示给用户 View(视图):负责业务逻辑,并在适当的时候 ...

  5. Python --代码风格检查 pep8

    pip3 install pycodestyle pycodestyle .. Pep8编码规范 https://blog.csdn.net/ratsniper/article/details/789 ...

  6. koa执行过程原理分析

    本文原创,转载请注明出处https://i.cnblogs.com/EditPosts.aspx?postid=5710639 我们大家都知道,当koa接到请求经过中间件时,当执行到 yield ne ...

  7. OkHttp3 任务队列

    OkHttp3 有两种运行方式: 1.同步阻塞调用并且直接返回: 2.通过内部线程池分发调度实现非阻塞的异步回调; 下面讲的是非阻塞异步回调,OkHttp在多并发网络下的分发调度过程,主要是Dispa ...

  8. 关于dao层的封装和前端分页的结合(文章有点长,耐心点哦)

    任何一个封装讲究的是,实用,多状态.Action:     任何一个Action继承分页有关参数类PageManage,自然考虑的到分页效果,我们必须定义下几个分页的参数.并根据这个参数进行查值. 然 ...

  9. [译]ABP vNext微服务演示,项目状态和路线图

    译注: ABP的主要负责人hikalkan最近又发布了一篇博客, 说明了ABP vNext的微服务演示,项目状态和路线图.其中特意对ABP的中文社区进行了感谢! 本文翻译自该博客文章(https:// ...

  10. 深度学习之PyTorch实战(2)——神经网络模型搭建和参数优化

    上一篇博客先搭建了基础环境,并熟悉了基础知识,本节基于此,再进行深一步的学习. 接下来看看如何基于PyTorch深度学习框架用简单快捷的方式搭建出复杂的神经网络模型,同时让模型参数的优化方法趋于高效. ...