什么样的系统需要做性能测试
◼ 用户量大,PV比较高的系统
◼ 系统核心模块/接口
◼ 业务逻辑/算法比较复杂
◼ 促销/活动推广计划
◼ 新系统,新项目
◼ 线上性能问题验证和调优
◼ 新技术选型
◼ 性能容量评估和规划
◼日常系统性能回归
性能测试指标-TPS
事务 在性能测试领域里,衡量一个系统性能的好坏,主要看的是单位时间内,系统可以处理多少业务量。 各个系统的业务各不相同,为了方便使用统一指标来衡量业务的性能。用事务来代表业务操作,一 个事务可以代表一个业务,也可以代表多个业务操作。事务是用户定义的,想测试什么业务的性能, 就把该业务加到事务中。
性能测试指标-平均响应时间
请求工具---------->路由器------------->tomcat------------->代码-------------->数据库
响应时间=网络传输的总时间+各组件业务处理时间
平均响应时间:在测试过程中,所有请求的平均耗时
性能测试指标-TOP响应时间
TOP响应时间 将所有请求的响应时间先从大到小进行排序,计算指定比例的请求都是小于某个时间。该指标统计 的是大多数请求的耗时。
Tp90(90%响应时间):90%的请求耗时都低于某个时间
Tp95(95%响应时间):95%的请求耗时都低于某个时间
Tp99(99%响应时间):99%的请求耗时都低于某个时间
接口请求时间按照毫秒计算
无需求要求时间时,一线大厂公司共识,高频接口相应时间低于100 毫秒; 低频接口小于100 毫秒
一般情况下
接口请求时间为几十毫秒最好,大于500毫秒需要优化,秒级别的接口极差了
性能测试指标
并发数/虚拟用户(Vuser)-压测工具中设置的并发线程/进程数量
成功率-请求的成功率
PV(Page View)-页面/接口的访问量
UV(Unique Visitor)-页面/接口的每日唯一访客【可以做统计日活使用】
吞吐量-网络中上行和下行的流量总和,吞吐量代表网络的流量,TPS越高,吞吐量越大
TPS、响应时间和并发数的关系
在系统达到性能瓶颈之前,TPS和并发数成正比关系
响应时间单位为秒的情况下
TPS = 1 / 响应时间 * 并发数
TPS = 并发数 / 响应时间
性能监控指标
操作系统级别监控- CPU使用率、内存使用率、网络IO(input/output)、磁盘(read/write/util)
中间件监控- 连接数、长短连接、使用内存
应用层监控- 线程状态、JVM参数、GC频率、锁
DB层监控 -连接数、锁、缓存、内存、SQL效率
性能测试流程
一 • 需求调研
二 • 测试计划
三 • 环境搭建
四 • 数据准备
五 • 脚本编写
六 • 压测执行
七 • 调优回归
八 • 测试报告