一、需求

使用Loadrunner压测目标接口,要求支持1000并发数。

目标接口:https://www.xxx.com/digitaldata/api/signer/1.0/signerRegist

返回结果:结果返回中code的值为1则为保存成功,为4001则为参数异常,为0时则是保存异常。

执行设备:Win10(教育版),Loadrunner11破解中文版

二、     概述

使用Loadrunner进行压力测试一般分为3步,第一是创建/编辑脚本,第二是运行负载测试,第三是分析测试结果。

三、     创建/编辑脚本

点击“创建/编辑脚本”,打开HP Virtual User Generator窗口。点击“新建脚本”或者打开已有的脚本

选择协议类型,这里选择Web(HTTP/HTML)类型,新建一个脚本。

点击“创建”后,会出现录制的对话框。因我们是提交请求给接口,再接受返回值即可。因此无需录制,我们手动添加脚本即可。

接下来我们在Action里面添加脚本,内容为:

Action()

{

         web_reg_save_param("return_code",

                  "LB=\"code\":",

                  "RB=,",

                  LAST);

         lr_start_transaction("发送请求事务");

         web_submit_data("web_submit_data",

                  "Action=https://www.xxxx.com/digitaldata/api/signer/1.0/signerRegist",

                  "Method=POST",

                  "TargetFrame=",

                  "Referer=",

        "RecContentType=application/json",

                  ITEMDATA,

                  "Name=signerName", "Value=xx", ENDITEM,

                  "Name=signerType", "Value=个人", ENDITEM,

                  "Name=country", "Value=cn", ENDITEM,

                  "Name=organization", "Value=xxx", ENDITEM,

                  "Name=organizationUnit", "Value=xxx", ENDITEM,

                  "Name=signerIDType", "Value=身份证", ENDITEM,

                  "Name=signerIDNo", "Value=xxx", ENDITEM,

                  LAST);

         lr_end_transaction("发送请求事务", LR_AUTO);

         if (atoi(lr_eval_string("{return_code}"))==1){

                  lr_output_message("操作成功");

         }

         else{

                  lr_output_message(lr_eval_string("{return_code}"));

         }

         return 0;

}

脚本的简单解释:

web_reg_save_param:主要是获取返回值中某些符合规则的值。

lr_start_transaction("发送请求事务"):是添加一条名为“发送请求事务”名称的事务,便于统计,与lr_end_transaction("发送请求事务", LR_AUTO); 配合使用。

web_submit_data:向接口提交数据,格式类似于键值对。

【注:如需在某个时间点达到1000的并发,需要设置集合点】

脚本编写完成后进行保存,保存后点击“运行”。

我们在条件判断中设定了如果返回值为1,则显示操作成功。由图可知,结果显示为操作成功,则说明我们编写的脚本正确且接口返回了正确的值。

四、     设置场景运行负载测试

点击“运行负载测试”,在弹出的页面选择可用脚本,如果没有则点击文件夹图标打开已有的脚本。

设置场景计划,双击全局计划中的操作可进行设置,双击“启动Vuser”来设置虚拟用户的总数。同理设置“停止Vuser”。

另外还需要设置Load Generator为localhost,不然会报错执行不了,报错为提示你 脚本是否可以执行

点击运行即可开始设置的场景,运行的过程可在运行的tab页中查看。

五、     查看分析结果

在运行界面的结果菜单中点击,结果——分析结果,可自动生成分析结果。

点击页面中的“报告”——“报告模板”——生成报告可生成一定模板的压测报告。

Loadrunner11简单压测接口教程的更多相关文章

  1. jmeter之登录接口的一次简单压测与分析

    前言:登录接口的一次简单压测与分析 1.接口文档 2.配置元件 3.结果分析 1.接口文档 a.拿到接口文档 接口地址:http://localhost:8080/jpress/admin/login ...

  2. jmeter简单压测、下载文件

    一.jmeter做简单压测(单机) 1.添加需要压测的HTTP请求 2.添加聚合报告 3.设置压测场景 4.查看聚合报告 二.多机同时进行压测 1.在需要连接的电脑上打开jmeter  bin目录下的 ...

  3. jmeter关联、下载文件、简单压测

    关联 一.什么是关联 关联是请求与请求之间存在数据依赖关系,需要从上一个请求获取下一个请求需要回传回去的数据. 简单地说就是在测试过程中有些数据的值会经常发生变化,要获取并使用这些数据,把这个动态的信 ...

  4. JMeter压力测试,http请求压测,5分钟让你学会如何压测接口!

    JMeter压力测试 官网:https://jmeter.apache.org 最新款的jmeter需要java8的支持,所以请自行安装jdk8.这里就不啰嗦了. 可以根据自己的系统下载zip或者是t ...

  5. day2.jmeter简单压测,下载文件,Charles手机抓包准备

    一.压测 压测衡量一个系统的好坏:1.tps每秒钟处理的事物数,2.qps响应时间 添加聚合报告,更改线程组,运行接口请求 **添加压力机 1.首先确保都在同一网段 2.其他电脑要先启动jmeter- ...

  6. Asp.net 性能监控之压测接口“卡住” 分析

    问题描述:web api项目接口压测.前期并发100,500没出现问题,平均耗时也在几百毫秒.当并发1000时候,停留等待许久,看现象是jemeter卡住,没返回,时间过了许久,才正常. 解决过程: ...

  7. 实战jmeter入门压测接口性能

    什么是Jmeter? 是Apache组织开发的基于Java的压力测试工具. 准备工作: 一.安装配置好环境及压测工具 Jmeter下载地址:http://mirrors.tuna.tsinghua.e ...

  8. 压力测试(六)-阿里云Linux服务器压测接口实战

    1.SpringBoot 接口打包,并用jar包方式部署 简介:用jar包方式在控制台进行启动 打包 mvn package && java -jar target/gs-spring ...

  9. jmeter简单压测设置

    参数化 随机参数 时间参数 顺序自增函数  文件读取  直接引用 响应断言 用来查看sessionid 关联 关联引用 jmeter操作数据库 安装连接程序包 ip 端口号 哪个数据库 可以执行多条s ...

随机推荐

  1. matlab中polyfit

    来源:https://ww2.mathworks.cn/help/matlab/ref/polyfit.html?searchHighlight=polyfit&s_tid=doc_srcht ...

  2. 这个网易云JS解密,老网抑云看了都直呼内行

    最近更新频率慢了,这不是因为CK3发售了嘛,一个字就是"肝".今天来看一下网易云音乐两个加密参数params和encSecKey,顺便抓取一波某歌单的粉丝,有入库哦,使用mysql ...

  3. CentOS7.7 系统下 virbr0 虚拟网卡的维护与管理

    在 CentOS 7 系统的安装过程中,如果有选择相关虚拟化的的服务安装系统后,启动网卡时会发现有一个以网桥连接的私网地址的 virbr0 网卡,这个是因为在虚拟化中有使用到 libvirtd 服务生 ...

  4. Python解析yaml配置文件

    1.代码测试 import yaml fd = open('fileName.yaml', 'r') dict_tmp = yaml.load(fd) fd.close() print dict_tm ...

  5. 如何将python下载源地址修改为国内镜像源

    (1)在  C:\Users\xxx 下面创建新的目录  pip 文件夹 (2)在 pip目录下创建后缀为ini,名为pip的文件,另存为  (pip.ini) 文件内容设置为:(清华源) [glob ...

  6. abp(net core)+easyui+efcore实现仓储管理系统——出库管理之三(五十一)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...

  7. hugo网站配置聊天

    date: "2020-10-18T22:11:05+08:00" title: "hugo网站配置聊天" tags: ["dao"] ca ...

  8. rabbitmq 延时队列 插件方式实现 每条消息都延时自己时间

    上篇文章的延时是加到队列上的 通过死信过时推送 ,缺点就是不能每条消息定义自己的过时时间而且每次有新的过时时间,要新建一个交换机和队列 https://www.cnblogs.com/brady-wa ...

  9. C语言单文件模板

    #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <stri ...

  10. ScheduledExecutor定时器

    为了弥补Timer 的上述缺陷,在Java 5的时候推出了基于线程池设计的 ScheduledExecutor.其设计思想是:每一个被调度的任务都会由线程池中一个线程去执行,因此任务是并发执行的,相互 ...