性能测试的概述和策略
性能测试
1,后台处理程序的性能(代码性能)
2.应用服务器、数据库、架构设计等是否存在瓶颈
3.服务器资源消耗(CPU、内存、磁盘、网络)
性能测试的指标
并发用户数和响应时间
- 响应时间
说明:响应时间指用户从客户端发起一个请求开始,到客户端接收到从服务器端返回的结果,整个过程所耗费的时间。
组成:响应时间 = 网络时间 + 应用程序处理时间
- 并发数
并发测试的用户数
吞吐量
(1)什么是吞吐量?
指的是单位时间内处理的客户端请求数量。 —直接体现软件系统的性能承载能力。
(2)吞吐量的单位有哪些?
-从业务角度:业务数/天、访问人数/天、页面访问量/天
-从网络角度:字节数/小时、字节数/天
-从技术指标:每秒查询数(QPs)、每秒事务数(TPS)
(3)QPs和TPs有什么关系?
性能指标练习题01
1.关于并发数,描述正确的是:()
A、系统当前已注册的用户数为2000万,则并发用户数为2000万
B、系统当前已登录的用户数为20万,则并发用户数为20万
C、系统当前的活跃(在操作系统)用户数为2万,则并发用户数为2万
D、在系统已经满负荷时,并发用户数的增加会影响用户操作的响应时间
答案:D
02 关于吞吐量,描述正确的是:()
A、吞吐量是单位时间内处理客户端请求的数量
B、吞吐量直接体现软件系统的性能承载能力
C、在系统未达到满负荷时,并发用户数的增加会提高系统吞吐量
D、TPS和QPS都是吞吐量的技术指标
答案:B
03关于TPS和QPS,描述正确的是:()
A、QPS指服务器每秒处理的请求数
B、QPS中的请求,指的是web页面的一个点击请求
C、TPS指服务器每秒处理的业务请求数
D、TPS中的请求,可以是一个接口请求,也可以是多个接口请求的组合
答案:A、C
点击数和错误率
- 点击数
点击数是衡量Web服务器处理能力的一个重要指标.
点击数不是通常一般人认为的访问一个页面就是1次点击数,点击数是该页面包含的元素(图片、链接、框架等)向Web服务器发出的请求数量。
通常我们也用每秒点击次数(Hits per Second)指标来衡量Web服务器的处理能力。
- 错误率
错误率指系统在负载情况下,失败业务的概率。错误率=(失败业务数/业务总数)*100%
不同系统对错误率要求不同,但一般不超过千分之五
稳定性较好的系统
,其错误率应该由超时引起,即为超时率
资源使用率
是指系统各种资源的使用情况,一般用“资源的使用量/总的资源可用量×100%”形成资源利用率的数据
性能指标练习题02
关于点击数和错误率,描述正确的是:()
A、点击数就是记录访问一个页面时的1次点击
B、点击数是记录访问页面时所有的图片、链接的请求数量
C、错误率指的是一个随机出现的功能bug复现的概率
D、错误率指的是功能正常的业务,在高负载情况下,出现失败的概率
答案:B、C
关于资源利用率,描述正确的是:()
A、资源利用率指的是系统在运行时各种资源的使用情况
B、系统资源包括CPU、内存、磁盘、网络等
C、在相同的资源配置的设备上,运行吃鸡游戏比扫雷游戏的资源利用率更高
D、在设备上运行吃鸡游戏资源利用率很高,通过增加设备CPU、内存的方法可以降低资源利用率
答案:A、B、C、D
性能测试流程
性能测试需求分析
- 熟悉被测系统(业务/架构)
-
- 明确性能测试内容
- 从业务角度明确测试内容(关键业务)
- 从技术角度明确测试内容
- 逻辑复杂度较高业务CPU密集运算较大
- 明确性能测试内容
-
- 明确性能测试策略
- 负载测试
- 稳定性测试
- 并发测试
- 明确性能测试策略
-
- 明确性能测试的指标
- 无明确需求指标–查资料
- 有明确需求指标(用户/响应时间/CPU使用率/事务成功率)
- 明确性能测试的指标
性能测试计划及方案
- 测试的目的和范围
- 测试人员和分工
- 测试时间安排
- 测试的方法
性能测试用例
测试脚本编写/录制
说明:性能测试用例编写完成以后,接下来就需要结合用例的需要,进行测试脚本的编写工作。
建立测试环境
在进行性能则试之前,需要先完成性能测试环境的搭建工作,测试环境一般包括硬件环境、软件环境及网络环境
执行测试脚本
先保证脚本调试通过之后,才能进入正式压测阶段
执行测试脚本时,要先进行性能运行场景的设置,再运行脚本
性能测试执行
1.搭建性能环境
2.编写性能测试脚本
3.配置性能测试监控指标
4.执行脚本
性能测试监控
性能监控就是监控服务器的各项性能指标。例如:监控CPU、内存、网络、TPS、磁盘IO等
性能分析和调优
- 调优人员(开发人员、数据库管理员、系统管理员、网络管理员、性能测试分析人员)相关人员对系统进行调整
验证-性能测试人员继续进行第二轮、第三轮……的测试,与以前的测试结果进行对比,从而确定经过调整以后系统的性能是
否有提升。
系统调优由易到难的先后顺序如下:
- 硬件问题
- 网络问题
- 应用服务器、数据库等配置问题
- 源代码、数据库脚本问题
- 系统构架问题
性能测试报告总结
- 性能测试需求覆盖情况,测试过程回顾,及测试中出现的问题(如何去分析、调优、解决的)—基本要求
- 性能测试过程中遇到各类风险是如何控制的; 目前是否还有其他的性能风险存在
- 经过该项目性能测试后,有那些经验和教训等内容