LoadRunner11web压力测试录制、回放、负载前的准备
以前都是利用LoadRunner进行接口测试、自动化测试、压力测试。最近要对web系统做录制压测,因此花费了很长时间来研究这方面的工作。以下是我web端录制、压测过程的流程以及遇到的坑。
一、启动Virtual User Generator 进行系统的录制,在这里会遇到录制时间为0和打不开浏览器的问题。我用的是LoadRunner11,网上的办法都试了,勉强开机第一次能录制,要想再次录制只能开机重启,这个问题搞了三天没有解决,目前尝试其他解决办法,如正在下载LoadRunner12或直接写脚本测某一功能。在这里还是把网上说的解决录制时间为0和打不开浏览器的办法贴出来吧!录制时间为0解决办法:“我的电脑”右键"属性"--点击"高级系统设置"--高级--设置--数据执行保护 -- 点击"数据执行保护",通过绝对路径将VGen和IE执行程序都添加进去,然后重启电脑;录制打不开浏览器解决办法:1、打开IE浏览器,点击"设置"选择"Internet"选项,点击"程序",将IE设置为默认浏览器。点击“高级”,取消"其余启用第三方浏览器扩展*",然后应用、确定,重启浏览器。2、打开VGen点击"Start Record" -- Recoding Options -- Network -- Port Mapping -- Capture level 选择 “Socket level and WinlNet level data”。3、在某次录制前打开VGen点击"Vuser"--"Run-time Settings"--Browser -- Brower Emulation -- Browser properties--点击"Change"--选择"Use browser"-- Browser version选择"8.0",Platform选择“Windows7”(注:我用的电脑系统为win7所以选择win7)4、退出杀毒软件。5、关闭防火墙。6、打开VGenn点击"Tools"--Recording Options -- General -- Script -- Scripting Options -- 将"Track processes created as COM local servers"勾选。7、打开VGen,点击"Tools"--Recording Options -- HTTP Properties -- Correlation -- 将Enable correlation during recording下的选项都取消,有需要再勾选。
二、系统录制完后进行回放,VGen中点击Tasks--选择左边目录下的2.Replay--Verify Replay--点击Start Replay进行回放。
在这里如果回放不成功,点击"Show/Hide Output window",下面会跳出控制台选项,点击"Correlation Results"进行手工关联。关联后再次回放如果报"35061:超出最 大字节",可以在关联函数中添加“NotFound = warning”.
回放时如果想看图片的展示,可以在VGen中点击"Tools"--General Options -- Display -- 勾选上"Show run-time viewer during rej"和"Auto arrange windo"。这样在回放脚本时,也能看到之前录制的页面快照了。
三、回放脚本没问题的话可以进行内容检查的设置、错误处理函数的设置
先说内容检查,VGen中点击“Vuser”-- Run-time Settings -- Internet Protocol -- Preferences -- Checks --勾选“Enable Image and text check”。然后点击“Tasks”--Enhancements--Content Checks进行页面内容的检查设置。
接着说错误处理函数的设置,在脚本中某些函数报错不影响大体流程,而有的函数不允许报错。在这里可以引用错误处理函数LR_ON_ERROR_NO_OPTIONS(0)和LR_ON_ERROR_CONTINUE(1)。先在VGen中点击Vuser-- Run-time Setting -- General -- Miscellaneous -- Error Handing -- 勾选Continue on error。解释下LR_ON_ERROR_NO_OPTIONS(0)和LR_ON_ERROR_CONTINUE(1),LR_ON_ERROR_NO_OPTIONS(0)是取消出错继续执行设置,LR_ON_ERROR_CON TINUE(1)是发生错误继续运行脚本。因此在VGen中设置之后,可以在不重要函数前添加LR_ON_ERROR_NO_OPTIONS(0),在重要的函数前添加LR_ON_ERROR_CONTINUE(1)。该场景适用于时间较长的稳定性压力测试。
四、脚本调试的差不多了,就可以进行负载前的准备了。要考虑到集合点的设置、网络欺骗。
先说集合点,在某一函数前添加集合点,设置数量。在负载运行后,到达设置的数量后, 一同运行函数。 集合点相当于特殊情况的并发测试。Controllers中设置集合点:Scenario -- Rendezvous(如果按钮是灰色的,说明在VGen中设置的代码没有保存) -- Policy(集合点策略),在集合点策略中进行设置。
五、说完了集合点,咱们再说网络欺骗。因为有的服务器只允许一个IP登录一个用户、 某些服务使用了负载均衡,使用同一个IP不能测出系统的实际性能、一个IP登录多个用户或一个IP频繁操作导致服务器拒绝服务,因此这里用到了网络欺骗。通过虚拟大量的IP地址进行并发测试。怎样配置网络欺骗呢?1、客户端进行cmd -- ipconfig /all ,获取IP地址、网关、子网掩码、DNS服务器;2、本地电脑配置为静态获取IP;3、点击电脑"win"键,选择HP LoadRunner -- Tools -- IP Wizard -- 'IP Wizard - Step 1 of 4 ' -- Create new setting -- 网络类型选择本机的网络连接方式 -- 点击add..........关于A、B、C类IP地址区别见下:
A类IP地址 ,
一个A类IP地址由1个字节的网络地址和3个字节主机地址组成,网络地址的最高位必须是”0”,地址范围从1.0.0.0到126.0.0.0。可用的A类网络有126个,每个网络能容納1一亿多个主机
B类IP地址
一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是”10”,地址范围从128.0.0.0到191.255.255.255.可用的B类网络有16,382个,每个网络能容纳6万多个主机。
C类IP地址
一个C类地址是由3个字节的网络地址和1个字节的主机地址组成,网络地址的最高位必须是”110”.范围从192.0.0.0--223.255.255.255 C类网络达209万余个,每个网络能容纳254个主机
IP欺骗功能上应该注意事项:
1、虚拟IP是同一个Generator上的多个IP,这种分配过程由controller自行来进行
2、对于同一个Generator,你模拟的用户数量多于IP数量时,将会发生IP重复
3、对于同一个Generator,以其某一个IP添加到Generator中即可,不需要用不同的IP添加多次
4、IP欺骗设置前主机IP为固定的IP,测试完成之后要释放掉IP
IP欺骗验证
1、Vgen脚本里的IP地址必须是服务器的ip地址
2、Vgen脚本里被测的函数里需要加上事务
3、Vgen脚本中 选择Vuser--'Run-time Settings'-- General -- Miscellaneous -- Multihreading -- 勾选'Run Vuser as a thread'
4、Cotroller中,Scenario -- 确保选上"Enable IP Spoofer"
5、Cotroller中,Tools -- Options -- General -- Multiple IP address mode -- IP address allocation per thread(因为在Vgen中选择了thread,因此在Cotroller中也要选择thread)
至此,负载前的准备工作差不多了。下一篇文章将以目标场景、手工场景的区别来阐述相关知识点。
LoadRunner11web压力测试录制、回放、负载前的准备的更多相关文章
- loadrunner笔记(一):下载、安装loadrunner和负载压力测试概念说明
(一) 下载和安装 下载:(没账号的话得先注册一个账号) https://software.microfocus.com/en-us/products/loadrunner-load-testin ...
- LoadRunner压力测试实例
1 LoadRunner 概要介绍... 2 .项目背景介绍... 5 .使用LoadRunner进行负载/ 实施测试... 16 6.1 Memory相关... 22 6.2 Processor相关 ...
- jmeter 压力测试
转自: https://blog.csdn.net/cbzcbzcbzcbz/article/details/78023327 Jmeter压力测试简单教程(包括服务器状态监控) 2017年09月18 ...
- Jmeter压力测试简单教程(包括服务器状态监控)
前段时间公司需要对服务器进行压力测试,包括登录前的页面和登录后的页面,主要目的是测试负载均衡的实现效果.不知道是不是因为Jmeter不如loadRunner火爆还是什么,网上关于Jmeter的资料有很 ...
- JMeter压力测试及服务器状态监控教程
转载自:https://blog.csdn.net/cbzcbzcbzcbz/article/details/78023327 前段时间公司需要对服务器进行压力测试,包括登录前的页面和登录后的页面,主 ...
- 2. Jmeter压力测试简单教程(包括服务器状态监控) (转)
转自:https://blog.csdn.net/cbzcbzcbzcbz/article/details/78023327 前段时间公司需要对服务器进行压力测试,包括登录前的页面和登录后的页面,主要 ...
- jmeter压力测试的简单实例+badboy脚本录制(一个简单的网页用户登录测试的结果)
JMeter的安装:在网上下载,在下载后的zip解压后,在bin目录下找到JMeter.bat文件,双击就可以运行JMeter. http://jmeter.apache.org/ 在使用jmeter ...
- jmeter压力测试的简单实例+badboy脚本录制
JMeter的安装:在网上下载,在下载后的zip解压后,在bin目录下找到JMeter.bat文件,双击就可以运行JMeter. http://jmeter.apache.org/ 在使用jmeter ...
- apache-ab并发负载压力测试(转)
ab命令原理 Apache的ab命令模拟多线程并发请求,测试服务器负载压力,也可以测试nginx.lighthttp.IIS等其它Web服务器的压力. ab命令对发出负载的计算机要求很低,既不会占用很 ...
随机推荐
- Java8之日期处理
简介 Java8除了有较大更新的 lambda. Stream ,还推出了全新的日期时间API.Java之前处理日期.日历和时间的不足之处主要有: 日期类型为可变类型,非线程安全使其应用非常受限 没有 ...
- uni-app开发注意事项
关于vue 1.注意 如果使用老版的非自定义组件模式,即manifest中"usingComponents":false,部分模版语法不支持,但此模式已于2019年11月起下线. ...
- Azure Storage 系列(六)使用Azure Queue Storage
一,引言 在之前介绍到 Azure Storage 第一篇文章中就有介绍到 Azure Storage 是 Azure 上提供的一项存储服务,Azure 存储包括 对象.文件.磁盘.队列和表存储.这里 ...
- 爬虫日志监控 -- Elastc Stack(ELK)部署
傻瓜式部署,只需替换IP与用户 导读: 现ELK四大组件分别为:Elasticsearch(核心).logstash(处理).filebeat(采集).kibana(可视化) 在elastic官网下载 ...
- Kafka监控必备——Kafka-Eagle 2.0.2正式发布
对于经常使用Kafka的同学,拥有一个炫酷又实用的监控系统是非常有必要的.可以实时的监控数据流的情况,了解实时数据流的变化. Kafka Eagle Kafka Eagle是一个监控系统,监控Kafk ...
- IIS目录浏览模式打开文件还是无法下载
写在前面的话 IIS已经设置目录浏览启用,且可以正常访问到文件,说明这些设置没问题,但是点击文件进行下载时,却提示无法下载,文件不存在等等,有的又可以,一顿操作后发现,原来是文件类型没有包含在MIME ...
- 树形DP 学习笔记
树形DP学习笔记 ps: 本文内容与蓝书一致 树的重心 概念: 一颗树中的一个节点其最大子树的节点树最小 解法:对与每个节点求他儿子的\(size\) ,上方子树的节点个数为\(n-size_u\) ...
- sublime text3配置Python2、Python3的编译环境
由于Python2.Python3使用量都很高,Python3虽然是未来趋势,但是目前个别库还是只支持Python2.所以,很多人会选择在电脑上安装两个版本的Python,那么使用sublime执行代 ...
- Win32控制台、Win32项目、MFC项目、CLR控制台、CLR空项目、空项目区别
转载:https://blog.csdn.net/zfmss/article/details/79244696 1.Win32控制台 初始代码模版以main为程序入口,默认情况下,只链接C++运行时库 ...
- #pragma comment 的使用方法
转发:https://blog.csdn.net/liruda/article/details/2230617 #pragma comment ( lib,"wpcap.lib" ...