zoukankan      html  css  js  c++  java
  • 如何学习LoadRunner性能测试?

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


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

                                                             


  • 相关阅读:
    IDEA与tomcat的相关配置
    传统项目IDEA集成tomcat配置并创建web项目
    Maven项目更改工程运行环境插件
    Maven项目使用骨架或不使用骨架创建工程
    Maven项目中jar包冲突问题解决 导入jar包scope作用域的使用
    分开使用 Celery beat and worker
    (转) -- 线程、进程、协程
    Django REST Framework -- REST API 报错:403
    postman -- 循环调用RESTAPI
    (转载) -- ab(Apache benchmark) 一款常压力测试工具
  • 原文地址:https://www.cnblogs.com/ceshijiagoushi/p/7714448.html
Copyright © 2011-2022 走看看