首页 > 其他分享 >Loadrunner性能、接口测试工具

Loadrunner性能、接口测试工具

时间:2024-01-19 10:57:43浏览次数:41  
标签:vuser Loadrunner 接口 LoadRunner 线程 设置 测试工具 进程 运行

             LoadRunner,是一种预测系统行为和性能的负载测试工具。通过模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。企业使用LoadRunner能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。    LoadRunner可适用于各种体系架构的自动负载测试,能预测系统行为并评估系统性能。             性能测试---认识LoadRunner的三大组件  第一、LoadRunner的工作原理(录制--回放)

1、录制时,LoadRunner记录下,客户端和服务器二者之间的对话

2、回放时,LoadRunner模拟真实的客户端向服务器发起请求,并按照脚本去验证服务器的应答

说明:有时脚本录制不下来,自己写脚本,发现测试通过了,但是实际生产环境运行的时候服务器瘫痪了。

原因:没有模拟出真实客户端请求服务器的效果,接收出现问题,导致失败

第二、LoadRunner的三大组件

1)虚拟用户脚本生成器(virtual user Generator)VUG

功能:录制脚本,编辑测试脚本

2)压力调度控制台(controller)

功能:创建场景,运行场景,监控场景,收集测试数据

3)压力结果分析器(Analysis)

功能:把收集到的测试数据以图表的形式展示出来,生成测试报告

进程和线程的关系:

线程是有进程分出的,让更多的任务同时执行

每个虚拟用户都是一个线程,线程比较省资源

 下面是 自己在使用loadrunner  测试工具中遇到的各种问题:

问题:有的时候打开loadrunner的vugen,controller,analysis启动慢,假死,有时候点开没反应,2分钟才打开。

解决方法:更改.net安装目录中一个配置文件machine.config。

操作步骤:

1、找到文件machine.config

该文件位于.net安装目录下v2.0.50727\CONFIG(如C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG)

2、使用文本编辑配置文件,配置文件runtime节点

修改前:

我们加上:

<runtime>
     <generatePublisherEvidence enabled="false"/>
</runtime>

3、保存后再启动

2、LoadRunner未响应或IE弹不出来

1)右击我的电脑>属性>高级 点选性能中的设置

2)打开对话框,进入“数据执行保护”,如果空白中没有Internet Export请添加选择 点击添加将LR安装目录bin下Vuge.exe添加进去。如下图所示:

注意IE路径选择x86路径下的,如下图所示:

3)IE设置去掉第三方xxx Internet选项>高级>启用第三方浏览器扩展*

3、LR Controller打开场景,报错:Failed to create Online:无效指针

解决方法:启动LR安装程序,选择修复,修复完成后,重新操作破解步骤

4、Loadrunner Result目录被锁定

问题:在运行LOADRUNNER脚本的过程中,弹出提示;The default result directory is locked ,The results of the execution will b

原因:脚本在执行时不正常被终止,后台进程对结果文件仍保持独占状态

解决方法:

1、关闭vugen,然后打开任务管理器,终止仍在运行的mdrv或mmdrv进程;

2、重新打开,再次运行即可

5、启动loadrunner的web服务器时提示1080端口被占用的解决办法

1.首先打开Windows的cmd窗口

2.输入命令netstat -aon|findstr "1080"

3.显示占用该端口的进程,查看其PID

4.打开任务管理器在“服务”选项卡中查看PID为8260的进程,但是并没有找到,所以需选择用命令直接结束该进程

5.在cmd窗口中输入命令taskkill /f /pid 3014或者ntsd -c q -p 3014(ntsd可以用来关闭系统进程和一些任务管理器不能关闭的进程)

6.提示成功关闭该进程

7.再次启动loadrunner的web服务,启动成功

6、多台负载机的设置

负载机开启进程LoadRunner Agent Process ,测试机直接添加IP即可

7、JDK环境配置

JDK使用32位安装包,JDK环境配置后需要重启整个LR软件才生效

8、Run-timeSettings设置

1、去掉自动默认的事务

Run-time Settings》Miscellaneous》Automatic Transactions 在脚本和场景设置中同时勾上这两项,保存后,再去掉勾选这两项,再保存,即可解决问题

自动默认的事务,如下所示:

2、忽略思考时间

3、log设置

4、文本和图片检查点设置

检查点设置后,要保证Vuser>Run-Time Settings>Preferences>Enable Image and text check复选框被选中,否则检查点将不会生效,即使响应信息是错误的,结果显示依然为正确。

例:使用到函数web_find

5、进程和线程设置

6、错误快照设置

Run-time Settings>General>Miscellaneous 勾选Generate snapshot on error

错误结果路径设置

9、Recording Options设置

1、自动关联设置

如果选择“Run Vuser as a process”,则场景运行时会为每一个虚拟用户创建一个进程;

选择“Run Vuser as a thread”则将每个虚拟用户作为一个线程来运行,在任务管理器中只看到一个mmdrv.exe,这种方式的运行效率更高,能造成更大的压力,是默认选项。

进程和线程区别:

线程有自己的全局数据。线程存在于进程中,因此一个进程的全局变量由所有的线程共享。由于线程共享同样的系统区域,操作系统分配给一个进程的资源对该进程的所有线程都是可用的,正如全局数据可供所有线程使用一样。在Controller中将使用驱动程序(如mdrv.exe、r3vuser.exe)运行vuser。如果按进程运行每个vuser,则对于每个vuser实例,都将反复启动同一驱动程序并将其加载到内存中。将同一驱动程序加载到内存中会占用大量的RAM(随机存储器)及其他系统资源。这就限制了可以在任一负载生成器上运行的vuser数量。如果按线程运行每个vuser,Controller为每50个vuser(默认情况下)仅启动驱动程序(如mdrv.exe)的一个实例。该驱动程序将启动几个vuser,每个vuser都按线程运行。这些线程vuser将共享父驱动进程的内存段。这就消除了多次重新加载驱动程序/进程的需要,节省了大量内存空间,从而可以在一个负载生成器上运行更多的Vuser.

2、更改脚本语言操作

Tools---Recording Options 菜单选项,选择General--Script选项,就可以看见可选的语言。

3、recording设置HTTP/HTML

常用设置(非默认设置,需要进行修改)如下:

4、勾选支持UTF-8编码

10、设置IP欺骗

设置固定IP方法:

查看本地IP:网络连接>本地连接>详细信息>IPv4地址

点击属性,双击IPv4,设置IP地址即可

设置完后重新点开IP Wizard,具体操作链接:

http://www.cnblogs.com/fnng/archive/2013/03/02/2940284.html

打开loadrunner ---> Controller ,选择Scenario--->Enable IP Spoofer ,此项打勾后表示允许使用IP欺骗。

11、General Options设置

1、浏览器显示开关

Tools>General Options>Display>勾选show run-time viewer during rej

12、保存数据时闪退

https://zhidao.baidu.com/question/445113231.html

13、LoadRunner脚本执行提升服务器正在运行中

进入任务管理器,找到这个进程:ThumbProcess.exe,关掉这个进程即可解决

14、loadrunner11不支持TLS1.2

15、LoadRunner的Oracle协议,需要安装32位Oracle客户端

需要安装oracle 32位客户端,且需选择第二个选项管理员

16、xml报文格式检查点操作

17、LoadRunner的webservice协议注意点

1、Import Service中Advanced Settings选择Axis/Java based Web Services Framework,默认是.NET Framework会导致执行报错。

2、参数值配置勾选Value,如下图所示:

3、文件不可保存中文及中文目录下否则会报错
报错信息如下:

18、参数值增加显示个数

File数据库文件默认只看到100个值,如果想使用更多值,请修改“安装目录/config/vugen.ini”中的[ParamTable]属性下的MaxVisibleLines。

19、参数化策略设置

参考链接:https://www.jianshu.com/p/1b2874243eca
唯一性参数使用,通过设置每个用户需要的数据量,然后使用迭代次数去并发执行。
删除事务的参数策略设置

参考:https://blog.51cto.com/u_15061930/4732459    

标签:vuser,Loadrunner,接口,LoadRunner,线程,设置,测试工具,进程,运行
From: https://www.cnblogs.com/klb561/p/17974150

相关文章

  • 实操开源版全栈测试工具RunnerGo安装(一)
    Docker版安装文档一、环境要求​1.1部署服务器要求​操作系统:任何支持Docker的Linuxx86CPU内存:最低要求4C8G,推荐8C16G网络要求:可访问互联网​ ❗并发量较大时,请关注您的带宽、服务器的cpu及内存使用率等,以免影响测试结果和业务运行。1.2网络端口要求​为保证R......
  • stable Diffusion java接口
    StableDiffusionJava接口介绍引言在现代计算机科学中,信息传播或数据扩散是一个重要的概念。它可以用来模拟和分析各种现象,如社交网络中的信息传播、病毒传播以及多个实体之间的通信等。稳定扩散是一种特殊类型的信息传播,它指的是在一段时间内,信息传播的速度和传播范围达到了一......
  • 抽象类和接口
    抽象类必须用关键字abstract;抽象类可以包含抽象方法和具体方法,抽象方法可有可无;抽象类可以有实例变量(字段)抽象类不能用来创建对象;(所有的对象都是通过类来描述的,但并不是所有的类都是用来描述对象的)子类必须实现父类的抽象方法,否则子类也定义为abstract类接口接......
  • .NET Core如何调SAP接口-.NET Core如何调WebService接口
     情况说明 客户提供一个SAP接口,接口通过浏览器可以打开查看,如下图: 输入帐号密码后登录: 接口开发连接接口服务上述情况,SAP接口已就绪,现在开始开发接口调用。首先,创建.NETCoreWeb项目,然后如下图,连接接口服务。           创......
  • 使用过滤器记录api接口访问时长并记录日志
    usingERP.Helper;usingERP.Models.User;usingSystem;usingSystem.Diagnostics;usingSystem.Web;usingSystem.Web.Http.Controllers;usingSystem.Web.Http.Filters;usingActionFilterAttribute=System.Web.Http.Filters.ActionFilterAttribute;usingLogger......
  • 天气api接口+地区区号以及县市省数据汇总
    地区区号以及县市省数据天气接口:http://t.weather.sojson.com/api/weather/city/+区号eq:http://t.weather.sojson.com/api/weather/city/1013401011.链接下载:https://files.cnblogs.com/files/blogs/708875/sys_area.zip?t=1705546362&download=true2.单独提取代码--需......
  • aigc java接口
    AIGCJava接口科普简介AIGC(ArtificialIntelligenceGeneralControl)是一种人工智能通用控制接口,提供了与各种人工智能算法进行集成的能力。在Java编程语言中,我们可以使用AIGCJava接口来实现与AIGC的交互。本篇文章将向您介绍AIGCJava接口的使用方法,并提供代码示例来帮助您更......
  • 20.接口加密与解密
    大纲 环境准备实战练习环境准备 对响应加密的接口。对它发起一个get请求后,得到一个加密过后的响应信息。(如果有可用的加密过的接口以及了解它的解密方法,可以跳过)准备一个加密文件使用python命令在有加密文件的所在目录启动一个服务访问该网站原理 ......
  • 23.电子商城接口自动化测试 框架进阶实战
    现有问题 可维护性差:一个api发生变化,需要修改用例文件可读性差:无法从代码中看出来明确的业务逻辑断言能力差:响应内容只能一层一层提取架构优化设计 @startumlscale700*500packageconfig<<Folder>>{}packageutils<<Folder>>{}packageapis<......
  • 18.接口鉴权的多种情况与 解决方案
    接口鉴权是什么 身份认证接口鉴权通用的解决方案 认证信息的获取认证信息的携带@startumlscale800if(登录成功?)then#pink:响应错误;detachendif#palegreen:响应认证信息;#palegreen:携带认证信息发起其他请求;@enduml后端接口鉴权常用......