原文地址为: LoadRunner 技巧之 集合点设置

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

----------------------

  在loadrunner的虚拟用户中,术语concurrent(并发)和simultaneous(同时)存在一些区别,concurrent 是指虚拟场景中参于运行的虚拟用户。而simultaneous与集合点(rendzvous point)关系更密切,是指在同一时刻一起执行某个任务的虚拟用户。

  我们来想象一个场景,10名运动员参加长跑比赛,出发点同时起跑,他们是并排奔跑的;跑了N圈之后,因为有体能更强的,有体能稍弱的,他们的队形并排变成了前后。几乎一个跑道就可以供应他们的奔跑(运行),那么其余的9条跑道就是空闲的。

为了充分的利用跑道,可以将跑道的起点设置一个集合点,当所有运动员跑完一圈后在起跑点集合,然后再同时起跑。

运动员可以看作是虚拟用户,跑道可以看作是系统资源。设置集合点可以模式更加真实的并发请求,从而增加对系统的负载。

下面录制一个登录触摸屏版139邮箱的脚本。录制步骤:

1、打开登录页面

2、插入集合点

3、输入用户名密码,点击登录按钮

4、登录页面加载完成,录制结束

脚本添加集合点                                                                    

当我们在不熟悉脚本的情况下,可以通过世录制操作面板来添加集合点。

如果你非常熟悉每一段脚本代码的作用,可以在脚本中添加:lr_rendezvous 集合点函数。

录制代码如下:

Action(){

    web_url("wapmail.10086.cn","URL=http://wapmail.10086.cn/","Resource=0","RecContentType=text/html","Referer=","Snapshot=t19.inf","Mode=HTML",        EXTRARES,"Url=http://wapmail.10086.cn:8000/img/p/logo.jpg", ENDITEM,"Url=/favicon.ico", "Referer=", ENDITEM,        LAST);

    web_custom_request("urs.asmx","URL=https://urs.microsoft.com/urs.asmx?MSURS-Client-Key=FcIacsb4XHR0aOJzGG/quQ%3d%3d&MSURS-Patented-Lock=NGkcbdtnuEs%3d","Method=POST","Resource=0","RecContentType=text/xml","Referer=","Snapshot=t20.inf","Mode=HTML","EncType=text/xml; charset=utf-8","Body=<RepLookup v=\"3\"><G>ED8654D5-B9F0-4DD9-B3E8-F8F560086FDF</G><O>F03F2D77-79E1-4DEC-BBF8-81A5C0790160</O><D>9.0.8110.0</D><C>9.00.8112.16421</C><OS>6.1.7601.1.0</OS><I>9.0.8112.16421</I><L>zh-CN</L><R><Rq><URL>aHR0cDovL3dhcG1haWwuMTAwODYuY24v</URL><O>POST</O><T>TOP</T><HIP>218.204.255.90</HIP></Rq><Rq><URL>aHR0cDovL3dhcG1haWwuMTAwODYuY24vaW5kZXguaHRt</URL><O>POST</O><T>ACTION</T><HIP>218.204.255.90</HIP></Rq></R></RepLookup>",        LAST);

    web_custom_request("urs.asmx_2","URL=https://urs.microsoft.com/urs.asmx?MSURS-Client-Key=C84C0w6qif5yiuTi%2bfaoMg%3d%3d&MSURS-Patented-Lock=EQjsDl4IFSQ%3d","Method=POST","Resource=0","RecContentType=text/xml","Referer=","Snapshot=t21.inf","Mode=HTML","EncType=text/xml; charset=utf-8","Body=<RepLookup v=\"3\"><G>ED8654D5-B9F0-4DD9-B3E8-F8F560086FDF</G><O>F03F2D77-79E1-4DEC-BBF8-81A5C0790160</O><D>9.0.8110.0</D><C>9.00.8112.16421</C><OS>6.1.7601.1.0</OS><I>9.0.8112.16421</I><L>zh-CN</L><R><Rq><URL>aHR0cDovL3dhcG1haWwuMTAwODYuY24v</URL><O>PRE</O><T>TOP</T><HIP>218.204.255.90</HIP></Rq></R></RepLookup>",        LAST);

    lr_rendezvous("集合点")  //添加集合点        lr_start_transaction("登陆");  //添加事务

    web_submit_data("index.htm","Action=http://wapmail.10086.cn/index.htm","Method=POST","Referer=http://wapmail.10086.cn/","Mode=HTML",        ITEMDATA,"Name=ur", "Value=fnngj", ENDITEM, "Name=pw", "Value=heng198876", ENDITEM,"Name=apc", "Value=0", ENDITEM,"Name=_swv", "Value=5", ENDITEM,"Name=a", "Value=3,5 ", ENDITEM,"Name=_fv", "Value=3", ENDITEM,"Name=clt", "Value=5", ENDITEM,        LAST);

    web_submit_data("index.htm_2","Action=http://wapmail.10086.cn/index.htm","Method=POST","RecContentType=text/html","Referer=http://wapmail.10086.cn/","Snapshot=t22.inf","Mode=HTML",        ITEMDATA,"Name=ur", "Value=XXXXX", ENDITEM,   //登陆用户名"Name=pw", "Value=ooooo", ENDITEM, //登陆密码"Name=apc", "Value=0", ENDITEM,"Name=_swv", "Value=5", ENDITEM,"Name=a", "Value=3,5 ", ENDITEM,"Name=_fv", "Value=3", ENDITEM,"Name=clt", "Value=5", ENDITEM,        LAST);

    web_custom_request("handler","URL=http://m.mail.10086.cn/wp1/w3/handler","Method=POST","Resource=0","RecContentType=text/html","Referer=http://m.mail.10086.cn/bv1/home.html?mo=U0j5GuvVaLG3Xz0qMibbQok8g34_OABo&vn=288&logintype=0&cv=3&swv=5&cli=5","Snapshot=t23.inf","Mode=HTML","EncType=application/x-www-form-urlencoded;charset=UTF-8","Body=&mo=U0j5GuvVaLG3Xz0qMibbQok8g34_OABo&vn=288&vid=&__randomNumber=1362403651558",        EXTRARES,"Url=/bv1/css/public.css?vn=288", "Referer=http://m.mail.10086.cn/bv1/home.html?mo=U0j5GuvVaLG3Xz0qMibbQok8g34_OABo&vn=288&logintype=0&cv=3&swv=5&cli=5", ENDITEM,"Url=/bv1/js/home.js?vn=288", "Referer=http://m.mail.10086.cn/bv1/home.html?mo=U0j5GuvVaLG3Xz0qMibbQok8g34_OABo&vn=288&logintype=0&cv=3&swv=5&cli=5", ENDITEM,        LAST);

    web_custom_request("costanalysis","URL=http://m.mail.10086.cn/wp1/w3/costanalysis","Method=POST","Resource=0","RecContentType=text/html","Referer=http://m.mail.10086.cn/bv1/home.html?mo=U0j5GuvVaLG3Xz0qMibbQok8g34_OABo&vn=288&logintype=0&cv=3&swv=5&cli=5","Snapshot=t24.inf","Mode=HTML","EncType=application/x-www-form-urlencoded;charset=UTF-8","Body=&mo=U0j5GuvVaLG3Xz0qMibbQok8g34_OABo&vn=288&vid=&cmd=999&d=478&b=1&t=710&body=2&r=5&ajaxInitTime=419&ajaxCostTime=285&ajaxBeginTime=0&downBeginTime=156&initBeginTime=704&logintime=5100&homejstime=2&homeutiljstime=2&ajaxSendTime=1362403651558&redirectTime=-1&__randomNumber=1362403652268",        EXTRARES,"Url=/bv1/img/global_24.png", "Referer=http://m.mail.10086.cn/bv1/home.html?mo=U0j5GuvVaLG3Xz0qMibbQok8g34_OABo&vn=288&logintype=0&cv=3&swv=5&cli=5", ENDITEM,"Url=/favicon.ico", "Referer=", ENDITEM,        LAST);

    web_custom_request("urs.asmx_3","URL=https://urs.microsoft.com/urs.asmx?MSURS-Client-Key=maVKmMoyQiei4%2bdFLSDDAA%3d%3d&MSURS-Patented-Lock=HitWNt%2b1Bns%3d","Method=POST","Resource=0","RecContentType=text/xml","Referer=","Snapshot=t25.inf","Mode=HTML","EncType=text/xml; charset=utf-8","Body=<RepLookup v=\"3\"><G>ED8654D5-B9F0-4DD9-B3E8-F8F560086FDF</G><O>F03F2D77-79E1-4DEC-BBF8-81A5C0790160</O><D>9.0.8110.0</D><C>9.00.8112.16421</C><OS>6.1.7601.1.0</OS><I>9.0.8112.16421</I><L>zh-CN</L><R><Rq><URL>aHR0cDovL20ubWFpbC4xMDA4Ni5jbi9idjEvaG9tZS5odG1sP21vPVUwajVHdXZWYUxHM1h6MHFNaWJiUW9rOGczNF9PQUJvJnZuPTI4OCZsb2dpbnR5cGU9MCZjdj0zJnN3dj01JmNsaT01</URL><O>PRE</O><T>TOP</T><HIP>113.108.212.38</HIP></Rq></R></RepLookup>",        LAST);

    web_custom_request("urs.asmx_4","URL=https://urs.microsoft.com/urs.asmx?MSURS-Client-Key=r/4pztMEzQOon4ZLeymWxw%3d%3d&MSURS-Patented-Lock=a7q4TZRzKXk%3d","Method=POST","Resource=0","RecContentType=text/xml","Referer=","Snapshot=t26.inf","Mode=HTML","EncType=text/xml; charset=utf-8","Body=<RepLookup v=\"3\"><G>ED8654D5-B9F0-4DD9-B3E8-F8F560086FDF</G><O>F03F2D77-79E1-4DEC-BBF8-81A5C0790160</O><D>9.0.8110.0</D><C>9.00.8112.16421</C><OS>6.1.7601.1.0</OS><I>9.0.8112.16421</I><L>zh-CN</L><R><Rq><URL>aHR0cDovL20ubWFpbC4xMDA4Ni5jbi9idjEvaG9tZS5odG1sP21vPVUwajVHdXZWYUxHM1h6MHFNaWJiUW9rOGczNF9PQUJvJnZuPTI4OCZsb2dpbnR5cGU9MCZjdj0zJnN3dj01JmNsaT01</URL><O>POST</O><T>TOP</T><HIP>113.108.212.38</HIP></Rq></R></RepLookup>",        LAST);

    lr_end_transaction("登陆",LR_AUTO);  //登录事物结束

return 0;}

控制器中设置集合点策略                                                       

  我们在Virtual User Generator 中回放脚本无法体现集合点的作用。集合点是在多用户并发运行的时候才能起作用。所以,我们需要把脚本导入到Controller 中进行进一步的设置。

1、打开Controller (控制器),导入录制的脚本。

2、菜单栏 Scenario ---> Rendezvous 打开集合点设置界面

我们可以看到Vusers 列表框里有10个集合点(1~10),这里的数量和我们设置的虚拟用户数一致。

我们可以点击选中某个集合点,点击“Disable VUser” 按钮,使其不参与集合点。(某班级早晨集合跑步,A同学肚子痛,经过老师的允许不参与早晨的集合跑步。)

点击“Policy...”来设置集合点的策略:

下面来看看这三种策略的含义

Release when :当所有虚拟用户中的x % 到达集合点进释放,即仅当指定百分比的虚拟用户到达集合点时,才释放虚拟用户。

注意:此选项将会干扰场景的计划。如果选择此选项,场景将不按计划运行。

Release when :当所有正在运行的虚拟用户中的x %到达集合点时释放,即仅当场景中指定百分比的、正在运行的虚拟用户到达集合点时,才释放虚拟用户。

  还有不在运行的虚拟用户? 假如,设置为1分钟启动一个用户,当然会存在因为用户还没启动,所以无法参与集合点。

Release when : 当x 个虚拟用户到达集合点时释放,即仅当指定数量的虚拟用户到达集合点时,才释放虚拟用户。

  这个很好理解,当我用百分比不太好衡量集合点的虚拟用户数,当然可以设置具体的用户数。

Timeout between Vusers (虚拟用户之间的超时)框中输入一个超时值。

  假如设置了集合10用户并发,结果9个用户已经集合到位,还剩1个虚拟用户,左等右等就是等不来。那总不能一直等下去吧。设定了个时间,假如30秒还不来,那就不管它了。

  超时的时长默认是30秒,我们可以根据具体的被测应用进行调整。

转载请注明本文地址: LoadRunner 技巧之 集合点设置

LoadRunner 技巧之 集合点设置相关推荐

  1. LoadRunner技巧之集合点设置

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

  2. LoadRunner技巧之思考时间设置

    用户访问某个网站或软件,一般不会不停地做个各种操作,例如一次查询,用户需要时间查看查询的结果是否是自己想要的.例如一次订单提交,用户需要时间核对自己填写的信息是否正确等. 也就是说用户在做某些操作时, ...

  3. 后端开发(1)---大话后端开发的技巧大集合

    大话后端开发的技巧大集合 模块化设计 根据业务场景,将业务抽离成独立模块,对外通过接口提供服务,减少系统复杂度和耦合度,实现可复用,易维护,易拓展 项目中实践例子: Before: 在返还购APP里有 ...

  4. 微信公众平台最实用的工具和技巧大集合

    推荐语 这不是一篇纯工具的文章,还配有一些使用感受以及小技巧.微信公众平台的编辑本就是个累活儿,希望本文能够助你提高工作效率.下面是微信公众平台最实用的工具和技巧大集合 如果觉得有帮助,欢迎转发和收藏 ...

  5. Oracle使用技巧----sqlplus Set常用设置

    Oracle使用技巧----sqlplus Set常用设置 转自:http://blog.sina.com.cn/s/blog_40355af20100puju.html SqlPlus Set常用设 ...

  6. Mac小技巧:重置网络设置指南

    Mac 遇到持续的网络问题,例如不断从 Wi-Fi 网络掉线.无法加入网络.仅影响特定 Mac 的互联网连接异常缓慢或其他与网络相关的问题,那么重置可能会有所帮助网络设置. 重置 Wi-Fi 设置的最 ...

  7. 小技巧:为 Eclipse 设置链式调用的代码格式化(Formatter)

    本篇主要分享一个小技巧:为 Eclipse 设置链式调用的代码格式化(Formatter). 首先,我们要明白什么是链式调用,来看代码: AccountParam.builder().uid(uid) ...

  8. 代码调试技巧小集合(雨中飞燕出品)

    // ************************************************************ // // 本文源自飞燕之家在线测评论坛http://yzfy.org/ ...

  9. Mac使用技巧总结-如何独立设置Mac触摸板方向和鼠标滚轮方向?

    Mac使用技巧总结 如何独立设置Mac触摸板方向和鼠标滚轮方向? 苹果Macbook的使用者都知道,Mac自带的触控板非常好用,不仅支持多手势操控,而且手感极佳,使用流畅. 但是如果对鼠标的焦距有高有 ...

最新文章

  1. JMH和Arthas定位问题的案例分享
  2. python-九九乘法表
  3. CV:计算机视觉技术之图像基础知识(二)—图像内核的可视化解释
  4. 如何让“远程登录”更安全
  5. 如何在windows下使用linux命令
  6. python开机号_感知机(python实现)
  7. 基于MM2的跨IDC kafka热备多活方案
  8. Mysql replace 与 insert on duplicate效率分析
  9. SystemVerilog搭建测试平台---第一章:验证导论
  10. 随心玩玩(一)易语言 大漠插件 制作脚本从入门到摔门而出(更完)
  11. 计算机ping使用的端口,ping端口命令是什么
  12. python人力成本数据测算_人工成本数据统计
  13. 854计算机专业基础,东华大学2019年考研854计算机及软件工程专业基础综合考试大纲...
  14. 哪些人不适合做程序员
  15. Vue实现后台管理案例
  16. ChatGPT聊天app(基于autojs)
  17. 90G图片分享图片批量压缩zip和解压unzip
  18. windows系统下的 pdf2html (pdf 转html)开源工具 pdf2htmlEX 使用方法
  19. js写css字体,js如何写出css动画 ?js写css动画的方法(代码)
  20. 士兵队列训练问题:某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从头开始进行一至三报数,凡报到三的

热门文章

  1. SSL/TLS连接建立过程
  2. XEN-libvirt札记
  3. 如何学习Java?谈Java学习之路
  4. 多线程下载王者荣耀图片
  5. 做一个Java程序员,数学一定要好吗?
  6. Python-OpenCV图像处理(一):读取并指定窗口大小显示图片
  7. 数字证书原理详细介绍 单向认证 双向认证
  8. 影响PCBA制造的成本有很多方面,怎么有效降低成本?
  9. PMP可以自学报考吗
  10. SystemTap使用技巧【一】