zoukankan      html  css  js  c++  java
  • 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地址区别见下:

    AIP地址 ,

    一个AIP地址由1个字节的网络地址和3个字节主机地址组成,网络地址的最高位必须是”0”,地址范围从1.0.0.0126.0.0.0。可用的A类网络有126个,每个网络能容納1一亿多个主机

    BIP地址

    一个BIP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是”10”,地址范围从128.0.0.0191.255.255.255.可用的B类网络有16,382个,每个网络能容纳6万多个主机。

    CIP地址

    一个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)

    至此,负载前的准备工作差不多了。下一篇文章将以目标场景、手工场景的区别来阐述相关知识点。

  • 相关阅读:
    webstorm
    数据库中的内连接和外连接
    JVM加载class文件的原理机制
    内部类
    getString()方法与getObject()方法的区别
    Class.forName的作用
    JDBC事务处理
    合并两个排序的链表
    链表中倒数第k个结点
    反转链表
  • 原文地址:https://www.cnblogs.com/yinze/p/8727321.html
Copyright © 2011-2022 走看看