案例实践:零基础完成Loadrunner压力测试,十分钟教会你
cac55 2024-09-26 07:27 15 浏览 0 评论
摘要:最近笔主带着两位新入职的同事进行了公司新平台的压力测试,工具选择的当然是Loadrunner,小笔发现有很多刚入门Loadrunner的小白都会遇到很多相似的问题,但是这些问题并不能在各大搜索网站上得到完善的解决。因此,小笔选中了51testing这个流量给力认可度高的专业测试平台给各位loadrunner新手提拱一份参考,希望能够帮助到有需要的朋友。
在如今的大数据时代,软件、测试、自动化测试都在扮演者不可或缺的重要角色,我们开发一个平台要求的已经不仅仅是功能要正确,更要考虑的是随着访问量的增加给客户带来的压力体验。
OK,引文部分已经完成,下面我们一起走进Loadrunner的压力测试吧。
跟着小笔一起动手来完成此次的压力测试吧!一个完整的压力测试三部曲:
1.脚本录制->2. 场景设计->3. 结果分析
场景介绍:此处我们选择最具有代表意义的多用户并发登录系统,我们测试150个用户并发登录平台A的时候给系统增加的压力情况。
测试背景: Windows Server 2008+Loadrunner11+IE8
1.录制脚本(Virtual User Generator)
安装好Loadrunner后(安装比较容易,在此暂且省略),打开Virtual User Generator进行脚本录制,录制时相关设置:
Step 1、Catalog选择'Web(HTTP/HTML)',点击[Create] 按钮。
Step 2、[URL Address]的值输入需要测试系统的地址,点击[OK]按钮。
Step3、开始进行登录系统的脚本录制,一般情况下,我们在录制的过程中需要切分action,不同的操作放在相对应的action里,此处因为操作简单,我们暂且不去细分。
Step4、生成脚本
Step5、优化脚本:添加集合点,事务,思考时间。
事务:定义一个action的范围,以便对此action进行某种操作。比如对该action进行计时操作。
语句:lr_start_transaction("login");
集合点:正如字面意思,等待所有的事务集合到一起进行的操作,用来执行负载测试。要实现此操作,可以同步 Vuser 以便恰好在同一时刻执行任务。通过创建集合点,可以配置多个 Vuser 同时执行某个操作。当某个 Vuser 到达该集合点时,将进行等待,直到参与该集合的全部 Vuser 都到达。指定数量的 Vuser 均到达后,释放所有这些 Vuser。
语句:lr_rendezvous("login");
思考时间:思考时间即等待时间,是一种延迟操作,很好理解。
语句:lr_think_time(5);
2.场景设计(Controller)
Step1、打开 controller,添加上面优化好的脚本,设置场景模式。(此处命名为testLogin)设置场景如下:
Step2、点击【Start Scenario】运行脚本,结果如下:
Step 3、点击紫色框中按钮,生成测试结果报告。
2.结果分析(Analysis)
Analysis 可以说是Loadrunner压力测试的重点和难点,所以对于新手而言 analysis不是测试的结束,而是开始。因此,对于各项测试结果我们要做出准确的理解和判断。在本次的实践中,我们做的是一个比较简单的场景,那么针对此场景的各项结果如下:
【测试报告分析摘要】,这里显示了实际测试过程中,总体的测试结果。我们可以选择更过的图来分析系统的负载情况。
【Running Vuser】结果分析:Vuser是并发测试选取的虚拟用户,从下图中可以看出,Vuser是每5秒增加5个,在02:20秒的时候达到了顶峰值150,持续运行了一分钟后,逐渐退出系统。
【Hits per Second】结果分析:每秒提交的HTTP请求数量,在本场景中执行的时间比较短,因此结果不是很明显,建议大家此处可以放宽执行时间,这样得到的结果比较准确。
【Throughput】结果分析:吞吐量是指返回的应用层数据的值,吞吐量单位是以字节数为准,表示Vuser在任何给定的某一秒上从服务器获得的数据量。借助此图我们可以依据服务器吞吐量来评估Vuser产生的负载量。该数据越小说明系统的带宽依赖就越小,通过这个数据可以确定是不是网络出现了瓶颈。
【Tansaction summary】结果分析:事务概要说明,统计执行的事务数量,比如在本次场景中,login和exist这两个事务的值都是855次。同事也监控了事务的Pass数和Fail数,了解负载的事务完成情况。通过的事务数越多,说明系统的处理能力越强;失败的事务数越小说明系统越可靠。这个比较容易理解,不多阐述。
【Average Transaction Response Time】- 事务响应时间结果分析:这里需要注意的一个问题是因为在Transaction Response Times里面是场景运行时记录的响应时间的最大值最小值与平均值,而Average Transaction Response Time 是按照采样率每隔几秒钟取一个值画出来的图,然后根据图来记录最大值最小值和平均值,在报告中也可以看到,Average Transaction Response Time中写的是图最大值、图小值和图平均值。如果将采样率设置小一些,这两个值就会比较接。所以,抽象率是关键。那么下图现实的结果可以看出,login这个action最大值是14.978,最小值是2.134,平均值是7.869;exist最小值是0.02,最大值0.214,平均值是0.078 。这些时间是可以接受的压力响应的时间。
本次测试过程中常见问题汇总:
之所以加上问题汇总是因为笔主觉得大家在做压力测试的时候,这类问题的出现率很高,所以,在此稍微总结一下。
问题1:averager esponse time响应时间过长?(与实际偏差甚大完全不合理)
解决方法:导致此问题的原因很多,但是我们可以从以下几类去分析:1、是否在脚本中添加了多长时间的思考时间。2、事务和集合点的先后顺序是否正确,正确的顺序是把集合点放在事务前面,反之则也会增加事务响应时间的值。3、网速问题,网速一般不会造成太大的偏大,但是不排除并发量很大的情况下造成的延误。
问题2:LoadRunner超时错误
解决方法:首先在运行环境中对超时进行设置,默认的超时时间可以设置长一些,再设置多次迭代运行,如果还有超时现象,需要在“Runtime Setting”>“Internet Protocol:Preferences”>“Advanced”区域中设置一个“winlnet replay instead of sockets”选项,再回放是否成功。
问题3:LoadRunner脚本中出现乱码
解决方法:重新录制脚本,在录制脚本前,打开录制选项配置对话框进行设置,在“Recording Options”的“Advanced”选项里先将“Surport Charset”选中,然后选中支持“UTF-8”的选项。
问题4:在录制过程中IE页面上,某些控件显示有问题,导致录制不了。
解决方法:一般情况下,将被测系统的URL加入到可信任站点即可解决此类问题。
问题5:Error -27796:Failed to connect to server‘XXXX’
这个问题可以说是经常遇到但是不易被解决的难题,我们大致可以这样去排查
(1)检查run time setting中的请求超时时间Preferences中点击Options‘HTTPrequest connect timeout’,‘HTTP-request receieve timeout’,‘Step download timeout’,查看其值是否为1000、1000、10000;run time setting设置完了后记住还需要在control组件的option的run time setting 中设置相应的参数;
(2)Browser Emulation中的Download non-HTML resources选项去掉,点击OK即可如果还不能解决的话,继续尝试第3种方法
(3)设置runt time setting中的internet protocol-preferences中的advaced区域有一个winlnet replay instead of sockets选项,选项后再回放就成功了。如果实在不行的话就试试重启大法吧,因为有些问题的确可能是因为工具问题,网络问题,机子问题等等。
总结:用Loadrunner进行压力测试难免会遇到各种问题,细心排查总能一一解决,所以笔者想对刚刚踏入这一行业的朋友说,不急不燥认真去思考,问题总能被解决。希望此篇文章对大家有所帮助,任何问题都可以留言喔。
最后:
1)关注+私信回复:“测试”,可以免费领取一份10G软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Mysql数据库、抓包工具、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试等。
2)关注+私信回复:"入群" 就可以邀请你进入软件测试群学习交流~~
相关推荐
- 基于FPGA的伪随机序列发生器设计(fpga伪随机数发生器)
-
基于FPGA的伪随机序列发生器设计1基本概念与应用1)LFSR:线性反馈移位寄存器(linearfeedbackshiftregister,LFSR)是指给定前一状态的输出,将该输出的线性...
- 基于MATLAB的BP神经网络预测计算App
-
BP(BackPropagation)神经网络可用于数据的预测,是经常使用的预测方法之一。之前介绍了基于MATLAB的guide制作的BP神经网络预测计算GUI界面,但是随着MATLAB版本的更新,之...
- 《matlab/simulink仿真ROS学习笔记》第1期
-
PC平台:window10软件平台:MATLABR2016a备注:不知道具体的matlab版本号,可以打开matlab在终端界面输入:version查看一,调用matlab软件中自带的ROS步骤:...
- matlab读取表格数据以固定周期通过串口发送
-
如题,这里对数据的处理对于熟悉matlab各函数操作的同学来讲,是常规操作,但对于matlab新手或只是想借用matlab工具将存于PC端文件中的数据通过串口发送出去的工程人员来说,由于对matlab...
- 选择电磁阀必须要知道的8个因素(电磁阀的选择应从哪些方面考虑)
-
如何正确选择电磁阀,电磁阀的种类、规格、标准以及根据不同的介质选择的型号各不相相同,电磁阀的参数选择不全面的话,会影响使用寿命、诱发各种潜在危险甚至事故,下面诺伊曼的工程师将与您一起探讨关于正确选择电...
- 一种图像局部特征快速匹配算法(图像局部特征描述和提取方法研究)
-
摘要:在图像处理和机器视觉领域,SIFT是目前被广泛应用的一种基于局部特征的图像匹配算法。针对SIFT算法匹配速度较慢和常常存在错误匹配对的问题,本文提出在匹配过程中采用角度相似性分析替代传统的欧...
- 增益映射耦合局部正则化的图像重构算法
-
朱莉(西安科技大学计算机学院,陕西西安710054)摘要:针对当前的图像重构方法在对多帧超分辨率图像复原时,存在明显的模糊效应与振铃效应的不足,提出增益映射控制耦合局部正则化的图像重构算法。首...
- 每天一个MATLAB小技巧(9)(matlab简单教程)
-
欢迎关注公众号:【阿波兹得】上文接:每天一个MATLAB小技巧(8)如果你觉得我的文章对你有亿点点帮助的话,兄弟姐妹们看的时候顺便戳一下关注、点赞、收藏~谢谢朋友们,大家的支持就是我不断更新的最大动力...
- 零基础入门Matlab:两小时快速上手指南
-
前言Matlab作为一款强大的数学计算和可视化工具,广泛应用于工程、科研和数据分析领域。本文为零基础学习者量身定制,通过简洁明了的讲解和案例,助你快速掌握Matlab核心功能,两小时轻松入门!1.界...
- 用改进的深度差分特征识别人体部位
-
摘要:为了进一步提高人体部位识别正确率,考虑人体部位尺寸不一特性,提出了改进型深度差分特征。改进型深度差分特征根据人体部位尺寸大小确定特征偏移量取值,然后利用随机森林算法训练分类模型,实现了人体部...
- MATLAB《自动控制原理》相关编程(二)
-
摘要:本文主要讲解自动控制原理中涉及的相关MATLAB函数,包括拉式变换和反拉式变换、传递函数的化简(并联和串联)、带延时的传递函数、单位速度、单位加速度和其他任意输入的响应。1.拉式变换时域函数转...
- MATLAB-图片自动编号、命名及保存
-
在进行运算的可以,可能经常需要对图形进行保存,手动操作比较繁琐,可以自动的生成图片并按照一定的规律自动命名,这样可以提高效率。实现功能会涉及到一些函数的使用和往期介绍的图像的保存方法。下面简单回顾一下...
- MATLAB的Simulink常用模块(一)(simulink的matlab function模块)
-
在MATLAB的Simulink中有些常用的模块,今天主要介绍常数模块、示波器模块、以及模块属性的操作函数。1.模块的构成元素输入/输出端口:作为模块之间传递数据的纽带,连接输入信号和输出信号。模块...
- 闪耀金色光芒的冥王侍卫,掌管宇宙睡意的使者,温柔杀手修普诺斯
-
在极乐净土中有两位守护冥王哈迪斯的神,一个是死神塔纳多斯,另一个就是他的哥哥修谱诺斯。这两个神明一个是能掌握人类生死的大权,另一个则是负责人类和神仙的睡眠。可以说这两个人都十分的厉害。那么作者就给大...
- 无线安全的高级利用:隔离网络里你不知道的Wi-Fi隐蔽传输通道
-
2018年4月,在荷兰阿姆斯特丹HackInTheBox安全会议上,我们分享了一个关于隔离网攻击技术的议题——GhostTunnel:CovertDataExfiltratio...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 如何绘制折线图 (52)
- javaabstract (48)
- 新浪微博头像 (53)
- grub4dos (66)
- s扫描器 (51)
- httpfile dll (48)
- ps实例教程 (55)
- taskmgr (51)
- s spline (61)
- vnc远程控制 (47)
- 数据丢失 (47)
- wbem (57)
- flac文件 (72)
- 网页制作基础教程 (53)
- 镜像文件刻录 (61)
- ug5 0软件免费下载 (78)
- debian下载 (53)
- ubuntu10 04 (60)
- web qq登录 (59)
- 笔记本变成无线路由 (52)
- flash player 11 4 (50)
- 右键菜单清理 (78)
- cuteftp 注册码 (57)
- ospf协议 (53)
- ms17 010 下载 (60)