性能测试基础理论
2021-10-15 13:40:02 3 举报
AI智能生成
性能测试的基础理论知识,必学
作者其他创作
大纲/内容
定义、理论
通过一定的手段,在多并发情况下,获取系统的各项性能指标,验证被测系统在高并发下的处理能力、响应能力、稳定性等,能否满足预期需求。定位性能瓶颈,排查性能稳重,保障系统的质量,提升用户体验。
性能测试指标
响应时间RT
网络传输的总时间+各组件业务处理时间
响应时间的大小直接反映了系统的快慢,响应时间越小,系统越快。指的是执行一个请求开始到最后收到响应数据所花费的总体时间
并发数/虚拟用户数
压测工具组设置的线程数
TPS、响应时间、并发数的关系
在系统达到性能瓶颈之前,TPS、响应时间和并发数成正比关系
响应数据的单位为S的情况下
TPS=1/响应时间 *并发数
TPS=并发数/响应时间
先性能测试,测试结果与需求进行对比,从而得出是否满足需求
TOP响应时间
将所有请求的响应时间按小到大排序,计算指定比例的请求都是小于某个时间。该指标统计的是大多数请求的耗时。例如发送100条请求,设置TOP95,则选取所有请求中第95个请求的响应时间
Tp99(99%的请求耗时都低于某个响应时间)、Tp95、Tp90,常用Tp95%
成功率
请求响应的成功率
业界常用99.9%和99.99%
PV
页面/接口的访问量
UV
页面/接口的每日唯一访客
吞吐量
网络中上行和下行的流量总和,吞吐量代表网络的流量,TPS越高,吞吐量越大
集合点
集合点是为了增加瞬间并发压力的一种机制,在脚本中增加一个标记,所有虚拟用户执行到标记处会进行等待,等所有用户到达后,再同时继续执行下一步操作
适用场景:业务场景是高并发类型,例如抢购、秒杀等
缺点:增加集合点后,系统的平均压力会降低
性能监控指标
操作系统级别监控
CPU的使用率、内存使用率、网络IO、磁盘
中间件监控
连接数、长短连接、使用内存
应用层监控
线程状态、JVM参数、GC频率、锁
数据监控
连接数、锁、缓存、内存、SQL效率
优点:会产生一种瞬间高并发
性能测试流程8
需求调研
项目背景
测试范围
业务逻辑、数据流向
了解开发代码逻辑
系统架构
B/S架构和C/S架构
配置信息
测试数据量(量级要一致)
外部依赖
外部系统对接、影响
系统使用场景、业务比例
日常业务量
预期指标
一般响应时间(3s)、高频接口的响应时间是100ms,低频接口的响应时间200ms
上线时间
一周5-10个接口量
测试计划
项目描述
业务模型、性能指标
测试环境说明
软硬件环境都要详细说明
测试资源
测试方法
测试方法及场景设计原则:
基准测试、单交易负载测试、混合场景测试、高可用性测试、异常场景测试、稳定性测试、其他特殊场景
测试进度安排及测试准则
环境搭建
测试机器硬件配置,尽量和线上一致
系统版本,与线上一致
测试环境部署,线上最小单元模块
应用、中间件、数据库配置,与线上一致
其他特殊配置
数据准备
数据量级:基准数据、测试数据
脚本导入
适合数据逻辑复杂
优点:自由度比较高
业务接口
适合数据表关系复杂
优点:数据完整性比较好
存储过程
适合表数据少、简单
优点:速度快
测试脚本
选择协议、工具,进行参数化处理,写关联、检查点,做事务判断
压测执行
基准压测、单交易测试等
分布式执行
监控
Linux、JVM、数据库
收集测试结果
数据分析和瓶颈定位
调优回归
性能调优需要团队合作完成
反复尝试、回归验证、监控工具、全链路排查、日志分析、模块隔离
测试报告
概述、测试环境、结果与分析、调优说明、项目时间表、结论、建议
现状和趋势
性能测试自动化、平台化
测试工具多样化、开源,二次开发
在高并发下验证功能正确性
线上线下相结合,线上发现问题,线下调优
web端性能测试
web系统架构
都是基于“客户端-服务端”模式。如右图
(B/S)架构
在web系统了,浏览器就是客户端
页面展示流程
1.下载页面上的静态资源,HTML、CSS、js、图片等
该性能主要取决于CDN服务器或者web中间件对静态资源的处理能力、网络带宽的限制、静态资源size是否合理等
2.浏览器对静态资源进行渲染
是浏览器的本地行为,渲染的性能取决于浏览器的性能,或者是本地电脑的CPU、显卡的性能,跟web系统没有关系
3.当静态资源加载完毕/用户执行某种操作后,执行JS脚本,调用接口获取动态数据
是服务端接口的性能
web端性能测试手段
谷歌、火狐等浏览器的F12功能,可以查看页面各组件的下载时间和size
第三方工具自动检查页面各组件是否合理,
例如YSlow
安装YSlow必须先安装firebug
操作、环境安装
了解内容
重点内容
0 条评论
下一页