性能测试指标
响应时间RT(重要指标)
RT是一个非常重要的性能指标
从发起请求的时间点,经过网络传输时间 服务器处理的时间 通过网络传输返回的时间
我们做性能测试时,尽可能的降低网络延迟时间,这样RT时间才会无限的接近我们的服务器处理时间
- 带宽加宽
- 局域网
- 在性能测试中,不要使用无线网络(排除专门的无线网络测试)
使用有线网络时要注意
- 网络传输的带宽
- 降低网络传输的节点与距离(不能使用跳板机)
- 独立网络环境
TPS/QPS(最主要指标)
TPS(Transactions per Second)
服务器每秒处理事务数,衡量服务器处理能力的最主要指标
QPS(Queries per Second)
每秒查询率
差异
一个TPS可能有多个QPS
HPS(Hit per Second)
每秒点击数(用户端)
RPS(request per Second)
每秒请求数
衡量主体角度
TPS:服务器处理能力。响应时间小、tps可以增大
QPS:并发用户发起的查询 接口查询多 人多,qps可以增大
RPS:并发用户发起请求 人多,rps可以增大
吞吐量
是衡量网络处理能力的
单位时间内处理的请求数量(事务/s)
在没有网络影响时,吞吐量=TPS
吞吐率
网络传输速率
单位时间通过的数据的平均速率(kB/s)
点击率
每秒点击数
资源利用率
服务器资源的使用率
- cpu利用率
- 内存利用率
- 磁盘I/O
- 网络带宽利用率
- 一般都不要超过80%
性能测试环境
性能测试是要自己独立搭建性能环境,网络环境
- 绝对不能用生产环境
- 不能用功能测试、自动化环境
- 这个性能环境,包括应用服务器和数据库服务器
性能环境硬件资源怎么确定
- 数量要和生产环境的数量一致吗? 不用和生产一样那么多服务器的数量,通过逐步增加服务器数量来评估大致的性能瓶颈 比如生产环境有8台服务器,性能测试从2台开始,增加到3台。可以大致评估增加数量提升的性能指标
- 每一台的硬件配置要和生产环境一致吗? 要和生产环境的配置一致 如果性能测试环境的硬件配置不如生产环境的硬件配置,性能测试结果得到的性能指标值,只能说 是否存在性能瓶颈,不能作为生产性能指标低的参考
性能测试流程
性能测试准备=>搭建性能测试环境->性能测试脚本开发->性能测试脚本执行->结果分析与调优->测试报告与结果跟踪
性能测试准备
- 理解需求、测试计划、测试模型、工作量评估
- 了解架构(数据流)
- 要明确需求的性能指标
例如500w访问量的并发
代码语言:javascript复制# 按照每天8小时有人访问
500w/8/3600=174
# 按照二八原则
500w*0.8/(24*0.2*3600)=232
# 一般需要1.2~1.5倍的TPS
232*(1.2~1.5) = 278~348
性能测试脚本开发
- 选取协议
- 制作脚本
- 调试脚本
- 验证脚本
先对接测试环境,开发调试脚本完成,再对接性能环境
性能执行
- 试运行
- 场景执行
性能测试结果分析与调优
- 分析思路:服务器硬件>网络>操作系统软件层的配置>应用的瓶颈
性能测试报告与结果跟踪
- 性能测试报告
- 性能测试问题跟踪