性能测试--第一课

一、基础概念

1.1 基本概念

给予协议模拟用户请求,对服务器性能一定负载,来测试服务器的性能指标是否达标
注意是测试服务器的(时间性能和空间性能)
与界面无关

1.2 分类

待完成
理发店模型理解

1.3 性能指标

响应时间

响应时间=网络连接时间+web server time(服务器响应时间) +app Server(服务器处理时间)
time +database server time(数据处理时间)

响应时间不包括 服务器返回数据到客户端渲染界面的时间

tps

单位时间处理的事务数(transcation per second)
htp:单位时间内服务器请求事务数()
吞吐:服务器的处理能力

资源利用率

在一定情况下服务器资源利用情况
内存:不能超过80%,虚拟内存(页交换频率,越大越不好)
cpu:不能超过70-80%,队列长度(例如消息排队过多)
带宽:Mbps 这里的b代表bit,所以100Mbps=12.5M/s

并不是资源利用率越低越好,因为会造成资源浪费

并发用户数

同一时间内向服务器发送请求的用户数

注意并发用户数和并发请求数的区别,一个用户可以同时发送多个请求的

二、性能测试流程

需求分析,测试计划,测试方案,用例设计,测试执行,定位分析问题,图

需求分析

测试对象:常用的,重要的核心的,并发量,数据量。常见的如登录,注册,下单等
确定性能指标:响应时间,tps,资源利用等

2-8原则:80%的用户请求集中在20%的热点数据或是时间段内

例子:商品单价为300,需要每天交易额达到2亿,求每秒的最大交易数
20000 0000 /300 X 80% / (24 X 0.2 X 3600 )

例子:每天8小时支持500万用户访问,求每秒钟最大用户访问量
500 0000 * 0.8 / (8 X 0.2 X3600 )= 694

测试场景:单一场景和混合场景(用户操作或是系统操作)

测试计划

测试目标,测试人员安排,测试进度,压力机(配置,要求,数量),风险评估

测试方案

测试工具:Loadrunnder,JMeter
测试环境:数据库,服务器,架构设计(有条件尽量和生产环境一致)
测试策略:单一场景和混合场景
监控工具:window(spotlight,perform.exe) linux(nmon,rpc,jvisualVM,spotlight)

用例设计

基于脚本的用例
基于测试场景的用例

定位分析问题

后端:软件(数据库和应用服务器),硬件,代码
前端
网络

在这里插入图片描述

三、工具LoadRunner

基本组成

1.安装
下载Loadrunner(最好下载破解版)参考网上各种教程
注意:尝试用win10安装,发现无法正常使用protocal advisor(协议探测器),直接抓取录制脚本也是失败,但是换成win7的系统就可以直接使用
2.Loadruner组成
Virtual User Generator 虚拟用户产生器—用来调试脚本
Loadrunnder Contoller控制器,设置需要使用的并发用户的数量,这些用户需要想服务器请求什么功能
Loadrunner Analysis:分析器,分析Controller在一段时间内的性能数据

创建脚本

基本使用
1、新建
File–new 或是工具栏等入口新建,一般需要选择脚本对应的协议
协议的获取方式:
1、直接问开发人员
2、一般公司的协议都是不变的,查看以前的项目
3、通过loadrunner协议探测器来查看
开始–程序中找到Loadrunner–Start Web Server,点击启动后会在桌面的右下角出现绿色小图标,代表服务器启动,只需要启动一次,连续多次启动会造成图标变红

然后再开始–程序中找到HP Web tour Application 点击之后浏览器会启动 http://127.0.0.1:1080/WebTours/
(这里我用的虚拟机,ip地址应该也是虚拟机的ip)
4、点击protocal advisor(协议探测器)图标,刷新http://127.0.0.1:1080/WebTours/网页,结束后停止探测,会自动生成探测报告

在这里插入图片描述


在这里插入图片描述
5.脚本的录制
file–web(HTTP/HTML ),点击start record,执行操作步骤,最后停止录制,录制结束后自动生成脚本
在这里插入图片描述
在这里插入图片描述
6.脚本生成之后,可以通过run再次运行
在这里插入图片描述
运行之后的各种日志:
1)Generation Log:
所有客户端和服务器交互协议会被放在此日志中,VuGen随后会对协议交互进行分析,最终生成脚本。
录制得到的VuGen脚本是通过此日志生成的。如果录制结束时出错或错误修改后,想回到最初的状态,那么可以使用tools>Regenerate Script功能来重新生成脚本,回到最初状态。
2)Recording Log:
可查看相关录制信息。录制中的Events条数就是此日志中的信息行数。
此日志的开头,显示了解析协议所用到的*.dll库文件。VuGen通过类似于插件的形式来完成对多种协议的支持,只要有这类的dll文件,就可以完成对该类协议的录制。
3)Replay Log:
可查看回放的日志信息

7.查看录制结果
View—Test Result查看脚本报告
在这里插入图片描述

创建控制器

打开方式:
1、开始菜单–Load runner
2、Tools—Create controller Scenario
在这里插入图片描述
在这里插入图片描述
脚本名称,脚本路径和压力机都是可以修改的
results–results settings–可以设置结果路径
在这里插入图片描述

在这里插入图片描述
点击start scenario开始运行控制器,运行完成之后会将结果进行保存

分析器

开始–Load runner—Analysis
File—打开上面的controller结果保存文件,就会将结果通过Analysis进行展示
文件类型选择LoadRunner results
在这里插入图片描述
在这里插入图片描述

脚本中的Action跟Contoller Scenario之间的关系

在这里插入图片描述

四、LoadRunner的使用

录制时的选项设置

打开录制设置:
1)start record—打开录制弹窗—options
在这里插入图片描述
2)在工具栏选择edit recording options
在这里插入图片描述

html-based script和url-based script

1)如果应用是WEB应用,首选是HTML-based方式;
2)不是基于浏览器的应用程序推荐使用URL-based script
3)Web应用中包含了与服务器进行交互的Java Applet;
基于浏览器的应用中包含了向服务器进行通信的JavaScript/VBScript代码;
【如果基于浏览器的应用程序中包含了JavaScript 并且该脚本向服务器产生了请求,比如DataGrid 的分页按钮等,也要使用URL-based 方式录制】
4)基于浏览器的应用程序中使用了HTTPS安全协议,建议使用URL-based script方式录制.
注:如果使用HTML-based script模式录制后不能成功回放,可以考虑改用URL-based script模式来进行录制,这种情况多是上面所列举的情况所引起的.

html-based script:是把打开一个网页的所有请求当做一个步骤封装在一起
url-based script:将每一个不同的url请求当做一个步骤
在这里插入图片描述
录制的时候出现乱码:
在这里插入图片描述

运行时录制的选项

打开步骤:
1)Vuser—Run time settings
2)工具栏—edit runtime settings
在这里插入图片描述
在这里插入图片描述

运行逻辑

run logic
在这里插入图片描述

Pacing 循环步伐

1)As soon as the previous iteration end
默认设置每次迭代之间不等待时间

2)After the previous iteration ends:
在前一次的iteration的结束时设置,包括fixed(固定等多少时间)和random (随机等某个范围内的时间)

3)With a fixed/random delay of sec
设置前一次ending iteration到下一次starting iteration之间的时间

4)At fixed/random intervals,every sec
设置前一次starting iteration和下一次starting iteration之间的时间,所以At是包含前一次iteration执行的时间
如果设置时间太短,即使前一次步骤没有执行完成也会中断,继续执行下一次
在这里插入图片描述

Log 日志

在这里插入图片描述

think time思考时间

在这里插入图片描述

Miscellaneous:多种多样

在这里插入图片描述
进程和线程的区别
在这里插入图片描述

Prefrences

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值