性能测试分享---java vuser协议(2)---LoadRunner篇

本文介绍了使用LoadRunner进行性能测试,特别是Java VUser协议的运用。从新建脚本到参数化、事务插入、并发执行及问题解决,详细讲解了整个过程。在并发执行中遇到的文件打开过多和HTTP-500错误,通过调整系统设置和Nginx配置得以解决。
摘要由CSDN通过智能技术生成

之前写了一篇jemter的性能测试工具的使用,但是LoadRunner才算是真正重量级的性能测试工具,下面详细介绍一下java vuser协议的使用和环境参数调试。

LoadRunner性能测试工具使用:

1、新建脚本,选择java vuser协议。初步结构是

import lrapi.lr;
public class Actions
{

//在init方法里面编写一个虚拟用户循环只执行一次的方法,如可以把协商写在里面,就可以达到每个用户协商一次之后,就不再协商的效果
public int init() throws Throwable {
return 0;
}//end of init

//在aciton方法里面编写需要循环并发的业务方法,如交易的方法,在run_time settings中设置循环的次数。
public int action() throws Throwable {
return 0;
}//end of action

//在end方法里面编写最后要执行的方法,如释放资源,没有可以不写。
public int end() throws Throwable {
return 0;
}//end of end
}


 

2、在初始代码的基础上继续编写业务方法。需要注意的是:

1)把只需要创建一次对象的语句如:Random rd = new Random();放在init,aciton,end方法之外,可以避免在循环中创建很多的对象。但是需要注意的是如果是创建HTTP请求的对象是需要反复创建的,不能单提出来,否则执行一次之后,该连接被释放了,而没有创建新的连接,第二次就执行不下去了。

2、脚本编写完之后,将该脚本所有import的类的jar包放在一个文件夹下,点击Run Time Settings的classpath,把所有jar包都添加进去。

3、运行脚本,看看能不能成功执行,按照错误提示调试脚本。

4、接下来,可以把需要变化的值进行参数化。如商户名和AESKEY。选中值,右键选择replace with a parameter,在parameter list功能里添加需要用到的商户和AESKEY的值,将商户参数的循环方式select next row选择unqie,update value on选择once,表示为个商户只取唯一的值。aeskey的select next row选择same line as merchant。

5、接下来插入事物,把需要计算业务时间的代码前后都插入事物函数,如lr.start_transaction("pay");lr.end_transaction("pay", lr.AUTO);如果想更加详细的知道每一步操作的时间,可以多插入一些事物,如加密,解密,获取返回值等步骤均插入事物函数。

6、如果需要并发执行,还需要插入集合点函数lr.rendezvous("pay");这样在场景里并发执行的时候,所有的虚拟用户会等到都准备好之后在一个时间点执行。

7、接下来就是在场景里执行了。点击tools---create controller scenario。进入场景。并发10个用户执行5分钟。同时监控tomcat的日志。

在并发的情况下,出现了一些问题,下面针对这些问题给出解决方案。

遇到的问题1、在并发执行1分钟后,开始有报错,主要的报错是解密失败,同时tomcat挂了,不能在接受新的请求。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值