以前都是利用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压力测试录制、回放、负载前的准备的更多相关文章

  1. loadrunner笔记(一):下载、安装loadrunner和负载压力测试概念说明

    (一)   下载和安装 下载:(没账号的话得先注册一个账号) https://software.microfocus.com/en-us/products/loadrunner-load-testin ...

  2. LoadRunner压力测试实例

    1 LoadRunner 概要介绍... 2 .项目背景介绍... 5 .使用LoadRunner进行负载/ 实施测试... 16 6.1 Memory相关... 22 6.2 Processor相关 ...

  3. jmeter 压力测试

    转自: https://blog.csdn.net/cbzcbzcbzcbz/article/details/78023327 Jmeter压力测试简单教程(包括服务器状态监控) 2017年09月18 ...

  4. Jmeter压力测试简单教程(包括服务器状态监控)

    前段时间公司需要对服务器进行压力测试,包括登录前的页面和登录后的页面,主要目的是测试负载均衡的实现效果.不知道是不是因为Jmeter不如loadRunner火爆还是什么,网上关于Jmeter的资料有很 ...

  5. JMeter压力测试及服务器状态监控教程

    转载自:https://blog.csdn.net/cbzcbzcbzcbz/article/details/78023327 前段时间公司需要对服务器进行压力测试,包括登录前的页面和登录后的页面,主 ...

  6. 2. Jmeter压力测试简单教程(包括服务器状态监控) (转)

    转自:https://blog.csdn.net/cbzcbzcbzcbz/article/details/78023327 前段时间公司需要对服务器进行压力测试,包括登录前的页面和登录后的页面,主要 ...

  7. jmeter压力测试的简单实例+badboy脚本录制(一个简单的网页用户登录测试的结果)

    JMeter的安装:在网上下载,在下载后的zip解压后,在bin目录下找到JMeter.bat文件,双击就可以运行JMeter. http://jmeter.apache.org/ 在使用jmeter ...

  8. jmeter压力测试的简单实例+badboy脚本录制

    JMeter的安装:在网上下载,在下载后的zip解压后,在bin目录下找到JMeter.bat文件,双击就可以运行JMeter. http://jmeter.apache.org/ 在使用jmeter ...

  9. apache-ab并发负载压力测试(转)

    ab命令原理 Apache的ab命令模拟多线程并发请求,测试服务器负载压力,也可以测试nginx.lighthttp.IIS等其它Web服务器的压力. ab命令对发出负载的计算机要求很低,既不会占用很 ...

随机推荐

  1. 欧拉函数线性求解以及莫比乌斯反演(Mobius)

    前言 咕咕了好久终于来学习莫反了 要不是不让在机房谁会发现数学一本通上有这么神奇的东西 就是没有性质的证明 然后花了两节数学课证明了一遍 舒服- 前置知识:欧拉函数,二项式定理(组合数) 会欧拉函数的 ...

  2. 中秋礼物!开源即时通信GGTalk安卓版全新源码!

    经过连续两个多月的努力(开发.调试.测试.改bug),我们终于赶在中秋国庆之前能把全新的GGTalk Android版本献给大家. 4年之前我们就推出了GGTalk Android的第一个版本,但是功 ...

  3. .net Winform 揭开语音识别的神秘面纱

    今天老哥弄上位机,了解到一个有意思的东西,就是语音识别,真的很简单,话不多话,一起看图吧 1. 初始 Winform 界面设计: 2.潦潦几句代码书写着我的理解: 2-1. 先看引用  dll usi ...

  4. Solon详解(十)- 怎么用 Solon 开发基于 undertow jsp tld 的项目?

    Solon详解系列文章: Solon详解(一)- 快速入门 Solon详解(二)- Solon的核心 Solon详解(三)- Solon的web开发 Solon详解(四)- Solon的事务传播机制 ...

  5. Code Test(2)

    1110test T1:Inversion逆序数对1(inversion.cpp/in/out 1s 256M)给定N的值,要求找出一个N的全排列,这个全排列中,逆序数有M对.这样的结果会存在多个解, ...

  6. TCHAR数据类型介绍

    转载:https://blog.csdn.net/mousebaby808/article/details/5259944 并不是所有的Windows操作系统都支持UNICODE编码的API(例如早期 ...

  7. C++ format 函数

    转载原文链接:https://blog.csdn.net/nowhaha/article/details/38710571 原博主很有心,文字标有颜色,奥利给!  Thanks C++ format ...

  8. Golang搭建接口测试框架

    测试报告 使用goconvey作为测试报告,使用方法: 安装 $ go get github.com/smartystreets/goconvey $ $GOPATH/bin/goconvey 导入包 ...

  9. ANNdotNET中的视觉神经网络设计器

    ANNdotNET简介 是一个在.net平台上进行深度学习的开源项目.NET Framework和.NET Core).该项目位于http://github.com/bhrnjica/anndotne ...

  10. php curl 获取请求头与DNS解析

    1 php-curl方法相关设置具体方法在最下方的示例函数有相关编著, 这里主要描述两个小众需求a 设置访问DNS解析问题点: get请求网页获取返回值速度很快, 但是使用curl请求数据时, 响应速 ...