LoadRunner 技巧之 集合点设置】的更多相关文章

LoadRunner 技巧之 集合点设置 Loadrunner 技巧已经整理4篇了,你个一定疑问,这些知识点,网上随处可见.确实,由于长时间没有使用这个工具,造成我的一些概念开始在大脑中模糊,我只是用这种方式来温习. ---------------------- 在loadrunner的虚拟用户中,术语concurrent(并发)和simultaneous(同时)存在一些区别,concurrent 是指虚拟场景中参于运行的虚拟用户.而simultaneous与集合点(rendzvous poin…
版权声明:本文为原创文章,转载请先联系并标明出处 性能测试中,我们可以模拟最真实的用户操作来建立性能模型,但是这种模拟是相对的.譬如12306网站春运开始后每一天都是高峰,这种高负载情况会持续一至两个月.我们在测试的时候是不可能一次测试也运行这么长时间,等运行一两个月再看结果,黄花菜都凉了.再者,我们也不可能模拟所有的用户操作,那样性能测试脚本的设计工作就没有边界了.根据80-20原则,我们应该把80%的精力放在20%最关键的功能上,所以我们一般都选择其中最核心.使用频率最高.性能敏感度最高的功…
LoadRunner 技巧之 思考时间设置 用户访问某个网站或软件,一般不会不停地做个各种操作,例如一次查询,用户需要时间查看查询的结果是否是自己想要的.例如一次订单提交,用户需要时间核对自己填写的信息是否正确等. 也就是说用户在做某些操作时,是会有停留时间的,我把这个时间叫思考时间.但利用代码去执行的时候是没有时间的,当然,脚本运行本身是需要时间的,但比起人的思考时间要小很多.这也是我们为什么要用软件来代替人的某些工作. 但有时候,我们在做性能测试时,为了更真实的模拟用户的操作,需要给代码加入…
在loadrunner的虚拟用户中,术语concurrent(并发)和simultaneous(同时)存在一些区别,concurrent 是指虚拟场景中参于运行的虚拟用户. 而simultaneous与集合点(rendzvous point)关系更密切,是指在同一时刻一起执行某个任务的虚拟用户. 1.下面以登录脚本为例,进行演示: Action() { //添加集合点,场景中如果想使用集合点策略,脚本中必须要添加集合点 lr_rendezvous("登录集合点"); //添加登录事务…
脚本优化-集合点设置 by:授客 QQ:1033553122 添加集合点(Insert->Rendezvous) 当一个集合点被插入,VuGen往Vuser脚本中插入一个lr_rendezvous函数,形如: lr_rendezvous("rendezvous1"); 插入一个结合点来模拟重负载.集合点指导Vusers在测试运行期等待多用户到达某个点,然后释放该集合,以便该集合点的Vusers同时执行一个任务.如,模拟银行服务器的峰值负载,你可以插入一个集合点指示100个用户同时…
场景设计-集合点设置 by:授客 QQ:1033553122 1  作用 通过让多用户在同一时间点上进行并发操作来测试系统的并发处理的能力 2  实现 通过集合点函数来实现. 注意:集合点经常和事务结合起来使用.集合点只能插入到Action部分,vuser_init 和 vuser_end 中不能插入集合点.所以,如果要模拟并发登录,那么必须把登录操作放到Action中 3  具体步骤 例子:模拟10个用户并发登录Web Tours 1.插入集合点函数 打开VuGen,光标定位在要插入Inser…
测试场景,实现用户登录的200并发: 1.录制登录退出脚本,且登录退出放aciton中 2.在登录的地方设置集合点 设置集合点有如下4中方式: 1)在要插入集合点的地方,右击鼠标按如下图操作:…
集合点的意思时等到特定的用户数后再一起执行某个操作,比如一起保存,一起提交(我们通常意义上的并发数并不是指一起提交或者一起保存),一般情况下使用不到集合点,不过,订票系统或者促销类需要用到,比如说某个促销品的促销时间在8点到8点30,这样的话,就可能出现在8点时很多人一起提交的场景 集合点函数可以帮助我们生成有效可控的并发操作.虽然在Controller中多用户负载的Vuser是一起开始运行脚本的,但是由于计算机的串行处理机制,脚本的运行随着时间的推移,并不能完全达到同步.这个时候需要手工的方式…
背景 LoadRunner 执行过程中,有的user 跑的快,有的跑的慢.就导致user1可能还在执行 登录操作呢,user2都已经开始执行查询操作了. 但是在进行负载测试时 ,我们又需要让很多用户同时执行一个任务.比如我这时候需要让30个用户同时开始查询.那我们就需要在查询操作前面添加一个集合点.意思就是我需要30个用户在这个地方集合,然后同时释放进行查询操作. 这时候第一个用户执行到集合点的时候,并不会继续进行查询操作,而是等待其他用户到达.等到30个用户都到达这里的时候,再一起执行查询操作…
在loadrunner的虚拟用户中,术语concurrent(并发)和simultaneous(同时)存在一些区别,concurrent 是指虚拟场景中参于运行的虚拟用户.而simultaneous与集合点(rendzvous point)关系更密切,是指在同一时刻一起执行某个任务的虚拟用户. 下面录制一个登录的脚本.录制步骤: 1.打开登录页面 2.插入集合点 3.输入用户名密码,点击登录按钮 4.登录页面加载完成,录制结束 当我们在不熟悉脚本的情况下,可以通过世录制操作面板来添加集合点. 如…
LoadRunner 技巧之 脚本设计 在做性能测试时,我们可能会遇到各种不同的业务需求与用户行为,在一个系统或网站中,每个用户的操作都不完全一样.我们如何来模拟这此用户的行为?经验与能力有限,我这里也做个简单的分析. Action 介绍 在此之前,我们先来介绍一个Action ,Action就像是一个函数包,将用户操作根据类别存放在不同的函数中,当选择完HTTP协议后,VuGen将自动生成脚本的框架. 默认脚本目录有三部分组成: Vuser_int Action Vuser_end 简单有的来…
LoadRunner 技巧之 检查点 判断脚本是否执行成功是根据服务器返回的状态来确定的,如果服务器返回的HTTP状态为 200 OK ,那么VuGen 就认为脚本正确地运行了,并且是运行通过的.在绝大多数系统出错时会返回错误页面码? 不会一般系统都会返回一个消息提示框,来提升用户感受.例如,“网站繁忙,请稍后”.其实这个时候网站已经无法正确响应用户请求了,但是VuGen 脚本无法识别,会错误地认为网站还能正确访问,导致分析错误.所以这时需要一种检查点函数帮助验证请求发送出去后,服务器的返回是不…
LoadRunner 技巧之 自动关联 这一节讲loadunner 关联的问题,其实这个东西理解起来简单,但说起来比较麻烦. 关联的原理:                                                                                             先来模拟一个场景,我去坐火车,坐火车要先检票,检票员核对火车票的时间.班次等信息正确后允许我坐火车. 过了几天,我又拿着一张票去坐火车,检票员再一次核对火车票信息,发现这张票过…
Loadrunner关联取参及设置检查点: 获取post的响应值当作参数存储,要在此post请求之上添加 web_reg_save_param("sign", "LB=md5码是:[", "RB=]", "Search=All", LAST); web_submit_data("tomd5", "Action=http://v49.pclady.com.cn:8090/servlet/tomd5&…
集合点只有在多用户并发运行的时候才能体现它的作用. Scenario ---> Rendezvous 打开集合点设置界面,如下图所示: 我们可以看到Vusers 列表框里有两个用户,这与我们设置的虚拟用户数一至,可以通过"Enable VUser" 来决定某个用户是否参与集合点: 在Rendezvous列表框可以看到我们的集合点,这里脚本里我只设置了一个集合点login,同样,我们可以通过"disable Rendezvous"可让集合点不起作用. 下面我们点…
集合点设置之Synchronizing Timer的使用 by:授客 QQ:1033553122 1.布局设置 注: 1) 说明: 名称:自定义名称 Number of Simulated Users to Group by:每次释放的线程数量.如果设置为0,等同于设置为线程租中的线程数量. Timeout in milliseconds: 如果设置为0,Timer将会等待线程数达到了"Number of Simultaneous Users to Group"中设置的值才释放.如果大…
Mac使用技巧总结 如何独立设置Mac触摸板方向和鼠标滚轮方向? 苹果Macbook的使用者都知道,Mac自带的触控板非常好用,不仅支持多手势操控,而且手感极佳,使用流畅. 但是如果对鼠标的焦距有高有求的使用者来说(例如:需要使用ps的设计师),那触控板的劣势就显露了. 所以很多设计者会使用外设鼠标,这时就有一个新问题产生:如果你是用的不是苹果自家的鼠标,当你操作鼠标滚轮时会发现,滚轮向下滑动时,Mac的页面是向上滑动的,操作机制完全和Windows相反,这可怎么办呢? 今天就给大家介绍一个插件…
loadrunner 的Administration Page里面设置   1.Set LOGIN form's action tag to an error page.在登录的时候,传递一个动态变量.勾选此项在你录制完脚本后会出现关联,这个是用来练习关联的. 2.Set RESERVATION form's action tag to an error page.在预订的时候,传递动态变量,勾选此项在你录制完脚本后会出现关联,这个是用来练习关联的. 3.Set cliend-side verf…
1  作用 通过让多用户在同一时间点上进行并发操作来测试系统的并发处理的能力 2  实现 通过集合点函数来实现. 注意:集合点经常和事务结合起来使用.集合点只能插入到Action部分,vuser_init 和 vuser_end 中不能插入集合点.所以,如果要模拟并发登录,那么必须把登录操作放到Action中 3  具体步骤 例子:模拟10个用户并发登录Web Tours 1.插入集合点函数 打开VuGen,光标定位在要插入Insert- >Rendezvous   填写集合点名称 说明:集合点…
LoadRunner 技巧之协议分析 在做性能测试的时候,协议分析是困扰初学者的难题,选择错误的协议会导致Virtual User Generator 录制不到脚本:或录制的脚本不完整,有些应用可能需要选择多个协议才能完整的记录 客户端与服务器端的请求. 最简单的办法就去跑去问开发人员我们的程序用什么协议通讯.当然,有时候为了面子,不好意思去问(也为装X) ,那就只能自己动手去被测系统所使用的协议. 优秀的第三方协议分析工具还是挺多的,如:MiniSniffer .Wireshark .Omin…
1.集合点的含义       当通过controller虚拟多个用户执行该脚本时.用户的启动或运行步骤不一定都是同步的,集合点是在脚本的某处设置一个标记.当有虚拟用户运行到这个标记处时,停下等待,直到所有的用户都达到这个标记处时,再一同进行下面的步骤,这样能够用最大的用户并发去做下面的操作,就像集合在前进一样.集合点主要用于对关键步骤的加压. 2.插入集合点的目的       集合点的用处对于loadrunner来说意义非常大,她可以设置多个虚拟用户等待到一个点,同时触发一个事务,以达到模拟真实…
IP欺骗也是也loadrunner自带的一个非常有用的功能. 需要使用ip欺骗的原因: 1.当某个IP的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候通过IP欺骗可以增加访问频率和访问量,以达到压力测试的效果. 2.某些服务器配置了负载均衡,使用同一个IP不能测出系统的实际性能.LR中的IP欺骗通过调用不同的IP,可很大程度上的模拟实际使用中多IP访问和并测试服务器均衡处理的能力. 3.有一些网站会限制同一个用户同一个IP 的登陆.为了更加真实的模拟实际情况,LoadRunner允…
快捷键: 1.StoryBoard技巧 当你想直接在view中选择自己想要的元素时,但是又碍于一个view上叠加的元素太多很难直接选中,那么在这时,你同时按住键盘上的shift和 control键,然后在你想选择的元素上点击鼠标,会弹出一个窗口,上面罗列了鼠标点击的位置下所有存在的元素,然后你再去进行选择会变的异常的简单. 参考:三十而立,从零开始学ios开发(十七):Storyboards(上) - minglz - 博客园 2.快速定位到左下角搜索框的快捷键: 有时候想搜索一个文件,常规的做…
今天给大家分享几个有关LR12的Controller使用过程中的几个常用问题: 一,脚本中添加集合点函数---lr_rendezvous 1,在被测接口事物函数之前加入集合点函数--lr_rendezvous,鼠标右键. 选择[insert]→[rendezvous] 2,保存脚本,打开Controller,打开已保存的脚本,在Controller设置集合点策略: 3,这时常见的情况就是controller的Scenario菜单中集合点菜单项被置灰,无法进行设置. 这种情况可能是如下原因导致的:…
IP欺骗也是也loadrunner自带的一个非常有用的功能. 需要使用ip欺骗的原因:1.当某个IP的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候通过IP欺骗可以增加访问频率和访问量,以达到压力测试的效果.2.某些服务器配置了负载均衡,使用同一个IP不能测出系统的实际性能.LR中的IP欺骗通过调用不同的IP,可很大程度上的模拟实际使用中多IP访问和并测试服务器均衡处理的能力.3.有一些网站会限制同一个用户同一个IP 的登陆.为了更加真实的模拟实际情况,LoadRunner允许运行…
一.关于参数的定义 在你录制程序运行的过程中,脚本生成器自动生成由函数组成的用户脚本.函数中参数的值就是在录制过程中输入的实际值. 例如,你录制了一个Web应用程序的脚本.脚本生成器生成了一个声明,该声明搜索名称为“UNIX”的图书的数据库.当你用多个虚拟用户和迭代回放脚本时,也许你不想重复使用相同的值“UNIX”.那么,你就可以用参数来取代这个常量.结果就是你可以用指定的数据源的数值来取代参数值.数据源可以是一个文件,也可以是内部产生的变量.用参数表示用户的脚本有两个优点: ① 可以使脚本的长…
1.Runtime setting的设置 *Think time 这个就不多说了,如果忽略则"响应时间"会变短,但同时对服务器的压力增大,从而间接影响响应时间 在anlaysis里有个过滤设置,可以设置过滤掉Thinktime,没有详细研究过 * Pacing设置 这个是我们经常忽略的一个设置 xinqidian123在他的空间的文章里提到: 其实LoadRunner是以客户端的角度来定义“响应时间”的,当客户端请求发出去后,LoadRunner就 开始计算响应时间,一直到它收到服务器…
1)关联的定义 很多时候,当时录完之后,没有问题.过一段时间再跑脚本,就不会成功.比如session,过期了,再一次使用,就会出错.这个时候,需要在每次访问的时候动态的拿到session,这种情况就需要用到关联. 2)参数化和关联的区别的阐述 参数化变的是提交的东西.关联的值是从服务器响应中拿到 3)什么时候需要关联? 服务器返回的动态变化且对业务有影响的 关联小例子 演示WebTours登录时,如果总是用同一个session,可能登录不成功,需要对session关联. Action() { w…
IP欺骗也是也loadrunner自带的一个非常有用的功能. 需要使用ip欺骗的原因:1.当某个IP的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候通过IP欺骗可以增加访问频率和访问量,以达到压力测试的效果.2.某些服务器配置了负载均衡,使用同一个IP不能测出系统的实际性能.LR中的IP欺骗通过调用不同的IP,可很大程度上的模拟实际使用中多IP访问和并测试服务器均衡处理的能力.3.有一些网站会限制同一个用户同一个IP 的登陆.为了更加真实的模拟实际情况,LoadRunner允许运行…
前言 计划开一个新的系列,来讲一讲在工作中经常用到的性能优化手段.思路和如何发现性能瓶颈,后续有时间的话应该会整理一系列的博文出来. 今天要谈的一个性能优化的Tips是一个老生常谈的点,但是也是很多人没有注意的一个点.在使用集合类型是,你应该设置一个预估的初始大小,那么为什么需要这样做?我们一起来从源码的角度说一说. 集合类型 我们先来聊一聊.NET BCL库中提供的集合类型,对于这个大家肯定都不陌生,比如List.HashSet.Dictionary.Queue.Stack等等,这些都是大家每…