最近组内同事针对性能测试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小时或更长,当然中间有时间也要关注一下曲线图是否有异常。


了解更多请关注微信公众号:测试架构师

                                                        


如何学习LoadRunner性能测试?的更多相关文章

  1. LoadRunner性能测试巧匠训练营

    <LoadRunner性能测试巧匠训练营>基本信息作者: 赵强 邹伟伟 任健勇 丛书名: 实战出版社:机械工业出版社ISBN:9787111487005上架时间:2015-1-7出版日期: ...

  2. LoadRunner性能测试结果分析

    LoadRunner性能测试结果分析http://www.docin.com/p-793607435.html

  3. LoadRunner性能测试专项班隆重开班

    LoadRunner性能测试专项班隆重开班 POPTEST首届高级性能测试提升强化班开课. 也许你只是看到成功者的光鲜,却没看到他们的努力和汗水.不要否定现在,要看到未来.提高自己.怎么自己.成就自己 ...

  4. LoadRunner性能测试入门教程

    javaweb性能测试那些事 一:什么是javaweb性能测试: 二:javaweb性能测试基本流程 三:javaweb性能测试常用指标: 1:响应时间:2-5-8 原则 2:吞吐量 3:资源使用率 ...

  5. RobotFrameWork(十三)RobotFramework与loadrunner性能测试结合(基于Remote库)

    一般我们进行完功能测试,都需要进行下性能测试,那么这章我来介绍下,RobotFramework与loadrunner性能测试的融合,即运行完自动化功能测试,借助RobotFramework的Remot ...

  6. LoadRunner性能测试结果分析(转载)

    性能测试的需求指标:本次测试的要求是验证在30分钟内完成2000次用户登录系统,然后进行考勤业务,最后退出,在业务操作过程中页面的响应时间不超过3秒,并且服务器的CPU使用率.内存使用率分别不超过75 ...

  7. 学习LoadRunner之C语言函数

    学习LoadRunner之C语言函数 Action() { /*strchr和strrchr的区别*/ /* char *strTest1="citms citms"; char ...

  8. LoadRunner性能测试样例分析

    LR性能测试结果样例分析 测试结果分析 LoadRunner性能测试结果分析是个复杂的过程,通常可以从结果摘要.并发数.平均事务响应时间.每秒点击数.业务成功率.系统资源.网页细分图.Web服务器资源 ...

  9. LoadRunner性能测试工具下载

    LoadRunner性能测试工具 LoadRunner是前美科利(Mercury Interactive)公司著名的性能测试产品.Mercury公司曾经是全球业务优化科技领域的领导者.2006年由惠普 ...

随机推荐

  1. 201521123071《Java程序设计》第五周学习总结

    第5周作业-继承.多态.抽象类与接口 1. 本周学习总结 1.1 思维导图总结: 1.2在本周的学习中,主要学习了以下几点: - 初步接触了接口的定义,用interface关键字定义接口,使用impl ...

  2. 201521123113 《Java程序设计》第3周学习总结

    1. 本周学习总结 2.书面作业 Q1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; p ...

  3. 201521123062《Java程序设计》第12周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将Student对象(属性:int id, String name,int age,doubl ...

  4. 201521123104 《Java程序设计》第14周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. 2. 书面作业 1. MySQL数据库基本操作 1.1 建立数据库,将自己的姓名.学号作为一条记录插入.(截图, ...

  5. 201521123113《Java程序设计》第13周学习总结

    1. 本周学习总结 2. 书面作业 Q1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jmu.edu.cn,分析返回结果有何不同?为什么会有这样的不同? 返回的结果 ...

  6. Markdown 模板

    一个例子: 例子开始 1. 本章学习总结 今天主要学习了三个知识点 封装 继承 多态 2. 书面作业 Q1. java HelloWorld命令中,HelloWorld这个参数是什么含义? 今天学了一 ...

  7. grep与正则表达式基础

    目录 grep 正则表达式 grep用法简介 我们介绍GREP的用法,主要用于匹配行,我们借助下面的正则表达式来介绍如何使用grep,还有就是正则表达式在linux中是极为重要的一部分. 命令:gre ...

  8. PostgreSQL使用MyBatis,insert时返回主键

    MyBatis中普通的insert语句是这样的: <insert id="insert" parameterType="com.xxx.xxx.xxDo" ...

  9. 移动端与PHP服务端接口通信流程设计(增强版)

    增强地方一: 再增加2张表,一个接口表,一个授权表,设计参考如下: 接口表 字段名 字段类型 注释 api_id int 接口ID api_name varchar(120) 接口名,以"/ ...

  10. 我是如何利用Hadoop做大规模日志压缩的

    背景 刚毕业那几年有幸进入了当时非常热门的某社交网站,在数据平台部从事大数据开发相关的工作.从日志收集.存储.数据仓库建设.数据统计.数据展示都接触了一遍,比较早的赶上了大数据热这波浪潮.虽然今天的人 ...