如何学习LoadRunner性能测试?

作者: TT 分类: 2017年09月 发布时间: 2017-09-24 16:22

最近组内同事针对性能测试LR的脚本部分做了介绍,是个不错的分享。会后反思自己也有很长一段时间没做性能测试了,根据以往的经验,有必要做些整理和补充,本文主要介绍一些Loadrunner性能测试的学习方法、思路、流程以及测试过程中需要注意的点。脚本相关的介绍在这篇文章就不过多描述了,有兴趣的朋友网上进行查找,资料也相对比较丰富。

一、Loadrunner初步了解

关于Loadrunner的学习,初期重点关注Vuser Generator的使用,需掌握以下内容,再去实战操作基本就不难了。

  • 录制脚本的基本步骤;
  • 理解基础函数的含义:lr_start_transaction(),lr_end_transaction(),web_reg_find(),web_url(),web_submit_form();
  • 会看输出窗口中的Replay log;
  • Vuser-Run Time Setting中Run logic\log\Think Time的设置;
  • 脚本的迭代;
  • 手动写脚本,掌握基本函数;
  • Loadrunner参数的设置;

针对我们目前的项目基本上是做HTTP/HTTPS协议的压测,大家手上有项目时,可以通过录制了解一下整个HTTP请求及响应的情况,学习一下Loadrunner内置的函数。

另外参数设置、迭代、关联函数等等希望大家查一下资料弄懂,实践一下不同方式有什么不同。

二、性能指标

在做性能测试之前,简单说下性能指标:

响应时间

针对页面操作,响应时间小于2秒,用户会感觉系统较快较满意;响应时间在2~5秒,用户可以接受,但对速度有些不满;响应时间超过5秒,用户将无法接受。作为优秀的项目当然越快越好,我们在做压测的时候,一般希望响应时间在1秒以内,
针对系统内部调用的接口响应时间更要快,具体情况视具体接口而定。

吞吐量

通常需要结合业务部门的市场目标而定。

服务器资源占用

CPU占用率、内存使用率不能过高;Cache命中率不能过低。

三、性能测试流程

制定性能测试目标-->选择性能测试工具-->设计性能测试-->执行性能测试脚本-->监控分析系统-->性能调优
1、目标:
如,系统需满足500个用户在线、20个用户并发操作发帖的情况下,发帖响应时间不超过2秒,系统资源使用率不超过30%。
2、选择性能测试工具:
可选择LR、Locust、jmeter等主流测试工具,这篇文章主要介绍LR相关。
3、性能测试准备:
测试脚本开发、负载的生成规则及监控方式、测试环境的搭建。

性能测试准备过程中需要注意的点:

  • 确认压测前SQL Review已通过;
  • 确认压测环境已成功搭建,压测服务器上单独部署一套程序代码;
  • 明确域名及需要绑定的host;
  • 搞清楚需要压测的业务及场景(也可以理解为测试用例);
  • 清楚输入参数及服务端返回信息;
  • 明确需要参数化的输入值,明确“请求成功的服务端返回码”;

4、负载过程、负载后对数据进行分析,这个分析需要众多专家共同协作,找出数据背后的问题,确定性能瓶颈。

5、确定瓶颈后,进行软硬件调优,调优完成重复之前的步骤。

执行性能测试过程中需要注意:

  • 需要与数据库交互的压测,事务pass不代表实际操作一定成功,首先确保脚本中的检查点要写正确,其次务必查询一下数据库是否有相应操作。

  • 场景测试的前10分钟,随时关注一下TPS、响应时间,若TPS过低或响应时间太慢,当机立断停止场景运行,找一下运行慢的原因,若不是脚本设置原因,找一下开发同学反馈问题,待开发调优后再压测,避免浪费时间。

  • 若无以上问题,场景测试的前1小时,关注一下曲线波动情况,若有明显下降或上下波动很明显,请联系开发同学查原因。

  • 若1小时已通过,可以连续跑稳定性测试,12小时或更长,当然中间有时间也要关注一下曲线图是否有异常。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注