手把手教你做性能测试

写给自己看的性能测试学习笔记

性能测试基本指标及其性能分析,及其可能遇到的问题

一.并发数:同时访问服务器站点的连接数。

并发上不去的表现:网络转圈页面报404,或者500或者直接无响应,都是并发上不去的表现。

并发数上不去的话,需要找架构工程师修改应用服务器(tomcat/webl)的最大连接数和数据库工程师数据库服务器(Oracle/mysql)的最大连接数,设置过大的话,会造成空间浪费,刚刚够用就行。

二.相响时间:从用户发送请求到收到结果的时候的时间。

响应时间过长主要造成的因素:

1.代码方面:

①代码方面效率执行低下。

2.数据库方面:

①业务查询类:数据库的查询逻辑,主表与子表的关系,还有数据库表过的索引(会产生索引碎片),影响查询效率。

②写表业务类:数据库储存过程会影响储存效率的高低,主表与子表的关系也会影响相应时间的长短。              

三.tps:并发数除以响应时间

上面几种情况会照成tps过低的情况;

四.吞吐量:指在一次性能测试过程中网络上传输的数据量的总和。

吞吐量满载的情况,为了更好的测试性能,需要排除吞吐量满载的时候造成的性能低下

五.服务器资源:

计算 + 存储 + 网络 就是服务器资源

计算: CPU + 内存, 也有GPU计算

存储:常规的数据存储,如文件系统存储,块存储, 对象存储

网络:如软件定义网络,虚拟网络等。

 

 

性能测试方法:

负载和压力的区别:负载是一个一个加上去,压力是一次性加上去;

负载测试:一般像登录模块类需要负载测试,我们回去寻求拐点,一个是最佳负载状态,和最大负载状态,然后在进行压力测试。

压力测试:其他模块的话直接采用压力去测试。

不管是压力测试还是负载测试,除了单节点测试之外,还需要测试多个服务器得负载是否均衡。

为什么登录模块需要线负载测试?

答:登录模块是与服务器与用户建立链接的一个过程,服务器状态是未知的,因此不能来得太猛烈,所以先负载测试,去找性能得一个拐点。

测试得用户是怎么来的?

答:注册用户的10%是在线用户,在线的5%是并发用户,取得是5%以下,因为中途还有一些不确定因素导致 用户并发≠服务器并发,比如用户手机性能和网速等原因;

 

LoadRunner的使用方法:

安装完LR后选择LR目录下面的sample文件夹,启动服务和网页。

玩一玩LR自带的网页

脚本录制:

选择单协议和web协议

点击Start Record

 

点击ok可以开始录制脚本,然后可以的到一个脚本。

对脚本的操作

添加计时的事物

添加结束计时事务

查看tree界面对比两个页面是否出现问题。查看日志没有问题,因为lr只管网络链接是否成功,所以要插入文本检查点。

利用web_reg_find(“”,“”,LAST)函数查早网页存在的信息;

做出逻辑判断,页面成功会返回什么,失败会返回什么。

用到的函数有

Ir_message(),输入消息

lr_eval_String(),声明变量,需要用时必须声明;(比如上图需要用denglu变量,虽然前面已经保存在savecount里了但还是需要声明),

lr_fail_trans_wiht_error("");转为事务失败而且输出

web_reg_find("Text=     ","SaveCount=    ",LAST)查找网页中的字符串并且保村变量;

这样就可以测试LR自带的网页登录模块了,然后查看tree视图,发现登录失败了。为了查找原因,点击下方的对比查找不一样的地方,不同会黄色高亮显示。

发现session值不一样,切换到http view里面去查找session的位置;

发现session的左边是userSession value=,右边是>括号。

利用web_reg_save_param("存下的变量名","Notfound=warning","LB=左边的格式","RB=右边的格式",LAST),来抓取变动的session值

然后把前一个页面抓取的Session值放入需要变化的value中

发送请求,对比tree视图,完成。登录脚本调试完成。

然后录制好一个注册脚本:

LR的参数化及其负载测试

添加参数

导入数据以username为源文件导入

然后替换参数

设置循环

跑一次查看tree视图,发现没问题,批量注册脚本调试成功。

脚本注册好1w条数据,我们来负载测试登录模块

选择lr的三大组件的第二个test,选择好脚本

添加监控机

脚本对应压测机

运行时设置

循环次数,负载时填1

忽略思考时间

避开前端,不浪费网络资源

开始设置负载测试

初始化用户

负载到100并发时稳定

负载到100后稳定一段时间了的结束设置

添加监控指标

 

 

 

结果保存地址设置

点击start,结果数据展示

压力测试:

压力测试和负载测试在设置上的区别是:

1.循环次数的不同,压力测试循环默认为1次,而压力,如果测试100的并发,有一万条数据的话,需要100次循环。(不能超过1W条数据)

2.并发数一开始的选择不同,负载会选择下面的选项,一个一个上,压测一次性达到最高并发

3.持续时间的不同,压测选直到跑完,而负载只需要持续一段时间。

压测为了模拟真实情景,所以每个值只能用一次。

4.参数化配置的不同。

负载均衡问题:

为了考虑负载均衡的等问题我可以使用lr的自带的虚拟ip的东西进行模拟操作;

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值