第一天学习:性能测试理论概述

一.性能测试的概念:


 性能测试:通过一定的手段,在多并发下情况下,获取被测系统的各项性能指标,验证被测系统在高并发下 的处理能力、响应能力,稳定性等,能否满足预期。定位性能瓶颈,排查性能隐患,保障系统的 质量,提升用户体验。


二.适合做性能测试的系统:


◼ 用户量大,PV比较高的系统

◼ 系统核心模块/接口

◼ 业务逻辑/算法比较复杂

◼ 促销/活动推广计划

◼ 新系统,新项目

◼ 线上性能问题验证和调优

◼ 新技术选型

◼ 性能容量评估和规划

◼ 日常系统性能回归


三.性能测试的指标


1.TPS(Transaction Per Second )】:每秒处理的事务数。

事务:在性能测试领域里,衡量一个系统性能的好坏,主要看的是单位时间内,系统可以处理多少业务量。 各个系统的业务各不相同,为了方便使用统一指标来衡量业务的性能。用事务来代表业务操作,一 个事务可以代表一个业务,也可以代表多个业务操作。事务是用户定义的,想测试什么业务的性能, 就把该业务加到事务中。

比如:查询银行卡的余额是一个业务;取钱也是一个业务;查询+取钱也是一个业务。

2.平均响应时间】:在测试过程中,所有请求的平均耗时。

一个请求的响应时间包含的时间有:

 响应时间=网络传输的总时间+各组件业务处理时间

3.【TOP响应时间】:将所有请求的响应时间先从大到小进行排序,计算指定比例的请求都是小于某个时间。该指标统计 的是大多数请求的耗时。

Tp90(90%响应时间):90%的请求耗时都低于某个时间

Tp95(95%响应时间):95%的请求耗时都低于某个时间

Tp99(99%响应时间):99%的请求耗时都低于某个时间

4.【并发数/虚拟用户(Vuser)】:压测工具中设置的并发线程/进程数量。

5.【成功率】:请求的成功率。

6.【PV(Page View)】: 页面/接口的访问量。

7.【UV(Unique Visitor)】 :页面/接口的每日唯一访客。

8.【吞吐量】: 网络中上行和下行的流量总和,吞吐量代表网络的流量,TPS越高,吞吐量越大。

思考:TPS,响应时间和并发数三者之间的关系是怎样的?

1)在系统达到性能瓶颈之前,TPS和并发数成正比关系

2)在一定的并发数下,响应时间与TPS成反比关系

3)响应时间单位为秒的情况下:(理论上,适合单接口的业务)

TPS = 1 / 响应时间 * 并发数

TPS = 并发数 / 响应时间

9.【操作系统级别监控】: CPU使用率、内存使用率、网络IO(input/output)、磁盘(read/write/util)

10.【中间件监控】 :连接数、长短连接、使用内存

11.【应用层监控】: 线程状态、JVM参数、GC频率、锁

12.【DB层监控】: 连接数、锁、缓存、内存、SQL效率

 


四.性能测试的流程


1• 需求调研

◼ 项目背景

◼ 测试范围

◼ 业务逻辑 & 数据流向

◼ 系统架构

◼ 配置信息

◼ 测试数据量(量级要一致)

◼ 外部依赖

◼ 系统使用场景,业务比例

◼ 日常业务量

◼ 预期指标

◼ 上线时间


2• 测试计划

◼ 项目描述

◼ 业务模型及性能指标

◼ 测试环境说明

◼ 测试资源

◼ 测试方法以及场景设计原则:

            ◼ 基准测试 ◼ 单交易负载测试 ◼ 混合场景测试 ◼ 高可用性测试 ◼ 异常场景测试 ◼ 稳定性测试 ◼ 其他特殊场景

◼ 测试进度安排及测试准则


3• 环境搭建

测试要点:

测试机器硬件配置尽量和线上一致

◼ 系统版本与线上一致

◼ 测试环境部署线上最小单元模块

◼ 应用、中间件、数据库配置要与线上一致

◼ 其他特殊配置


4• 数据准备

 

测试数据分为两部分:基础数据和参数化数据 通常采用以下三种方法进行构造 :

◼业务接口 -- 适合数据表关系复杂 -- 优点:数据完整性比较好

◼存储过程 -- 适合表数量少,简单 -- 优点:速度最快

◼脚本导入 -- 适合数据逻辑复杂 -- 自由度比较高

5• 脚本编写

 

 选择工具(Loadrunner、Jmeter、Locust等)

◼ 选择协议(Http、TCP、RPC)

◼ 参数化

◼ 关联

◼ 检查点

◼ 事务判断

6• 压测执行

 

 ◼分布式执行

◼ 监控 -- Linux -- Jvm -- 数据库

◼ 收集测试结果

◼ 数据分析

◼ 瓶颈定位

7• 调优回归

 

◼ 性能调优需要整个团队完成

◼ 反复尝试

◼ 回归验证

◼ 监控工具

◼ 全链路排查

◼ 日志分析

◼ 模块隔离

8• 测试报告

 

◼ 概述

◼ 测试环境

◼ 结果与分析

◼ 调优说明

◼ 项目时间表

◼ 结论

◼ 建议

 

 

posted @ 2021-01-17 15:59  小珊子  阅读(177)  评论(0编辑  收藏  举报