一.性能测试技能:
测试工具,linux系统,代码能力,环境部署,web前端,中间件,数据库,网络协议
二.性能理论:
1.面试题:性能测试的意义
2.什么样的系统需要做性能测试
用户量比较大,pv较高
系统核心模块/接口
业务逻辑/算法比较复杂
促销/活动推广
- 性能测试场景
新系统,新项目
线上性能问题验证和调优
新技术选型:不同系统,性能技术也不一样。需要多少台机器
日常性能回归:建立一次回归的机制,上线一些功能或模块,造成性能下降
三.性能指标
- TPS事务,每秒处理的事务数。事务完全是由用户决定的
- QPS,数据库有一个指标,是查询。用qps来表示,叫法不一样说的是一回事
- 平均效应时间,客户端-网络设备-中间件(tomcat,apach)-应用程序-DB
(1) 响应时间 = 网络传输总时间+各组件业务处理时间
(2) 平均响应时间 = 在测试过程中,所请求的平均时耗
(3) 面试题:在一个请求过程中,一个请求时间过长,会有那些因素
中间件,发生问题最大的就是应用程序
数据库:数据量越大,性能就会下降。出现概率最大的是应用程序和数据库
- 局域网内压测,是没有网络带宽的。
- 关注的最重要两个指标,平均响应时间和tps
四.Top响应时间
Tp90(90%响应时间):90%的请求耗时都是低于某个时间。这个某个时间是指将响应数据 倒序之后低于90%的值
Tp95
Tp99
通常某些请求的时间会拉高数据,将这些时间刨除掉
五.并发数
1.并发数/虚拟用户数
并发线程/进程数量来模拟用户
- 成功率:大于100%
- Pv:页面或接口的访问量
- Uv:页面/接口的每日唯一访客,日活用户数
- 吞吐量:网络中的流量,Tps越高,吞吐量越大。上行流量和下行流量的总和
- 100m带宽指的是下行,上行是30m
- 公式:响应时间为秒的时候
① Tps = 1/响应时间*并发数
② tps = 并发数/响应时间
③ 在系统达到性能瓶颈之前,tps和并发数成正比关系
④ 响应时间越长,tps越低
八.
八系统监控指标
- 操作系统,中间件,数据库,应用程序
九.性能测试流程
需求调研:
需求背景
测试范围
业务逻辑/数据流向
系统架构
配置信息(运维)
测试数据量
外部依赖
系统使用
日常业务(产品)
预期指标(研发)
上线时间
测试计划
测试场景:基准值
单交易负载测试:来源于电商业务,单业务或者单接口 p0(重要)
混合场景测试:整个场景最高的一个性能值,需要多次压测才能得到 p0(重要)
高可用性测试:主从结构
异常测试场景:网络延迟,丢包,弱网
稳定性场景:要测一个长期的时间 例如24/48/64小时。最少8小时 p0(重要)
环境搭建
测试机器配置尽量要和线上保持一致
系统版本一致
环境部署最小单元
应用,中间件,数据库一致
数据准备
业务接口:通过调用接口造数据,最好使用业务接口造数据
存储过程:写sql造数据,速度比较快。业务关系比较复杂
脚本导入:写脚本调用数据库造数据,适合做数据逻辑比较复杂的
数据量级: 测试数据
基础数据(活跃数量,用数据把表撑起来,用一下部分造数据)
测试脚本压测执行
协议
参数化
检查点
关联
分布式执行:部署多台
监控:linux,jvm,数据库
数据分析,瓶颈定位
调优回归:
需要团队完成
LR创建录制脚本时设置
设置内置浏览器,
内置浏览器功能-tools-gen-选第一个
设置循环次数
创建随机参数
检查语法错误
扩展日志设置
文件参数化
模拟并发用户数
选择Unique注意选项