性能测试学习笔记

本文详细探讨了性能测试的重要性和流程,包括查看系统在高负载下的稳定性、确定系统容量和配置规划。同时,文章介绍了性能测试的关键指标,如并发数、响应时间和TPS,以及不同角色在性能测试中的关注点。最后,讨论了各种类型的性能测试,如基准测试、压力测试、配置测试和可靠性测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一、常见的性能问题

  • CPU的使用率达到了100% ;
  • 内存泄漏;
  • 系统在用户量高峰期的时候不稳定,出现崩溃;
  • 系统响应速度很慢;
  • 出现线程死锁情况,资源分配不均等。

二、为什么要进行性能测试?

  • 进行性能测试,确定这个系统的性能指标,作为性能测试的标准。

1、 查看系统是否满足使用的场景:

  • 在非预期的用户数量下,系统是否稳定运行。
  • 系统能够处理事物的数量。
  • 在使用高峰期,系统是否可以快速响应用户的请求。
  • 在预期和非预期的情况下,用户是否有良好的体验(响应快,不卡顿,画面正常)。

2、确定系统的容量(用户、数据)

3、确定系统的配置规划

三、性能测试流程

  • 1、分析性能需求,确定性能指标。
  • 2、根据性能指标来设计性能测试的场景(性能测试的过程)。
  • 3、进行性能测试,获得性能测试报告。
  • 4、分析性能测试报告中的指标和预期性能指标是否一致。
  • 5、如果不一样,找出系统的性能瓶颈(个人经验),就是引起性能指标有问题的环节。

四、分析性能指标(确定性能测试的需求)

1、分析系统的性能需求

2、分析系统的关键业务

  • 分析性能测试的关键业务有两个原则:用户频繁使用的业务(20% 的主要业务被 80% 的仍频繁使用)。计算量大的业务。
  • 淘宝 APP 关键业务:
    • 首页搜索
    • 首页中,推荐喜欢商品功能

五、性能并发指标

1、并发数

  • 同一时间向系统后台发送同一个请求的用户数。

2、响应时间

  • 用户从发送请求到页面展示出请求的数据,这个过程所花费的时间。
    在这里插入图片描述
  • 分为 后台系统响应时间 和 前端页面渲染时间。
  • 3/5/8 原则(3s最好,最慢8s)

3、事务响应时间

  • 系统处理一个事物所需要的平均时间 (每秒 / 处理事务数)。
  • 事务:一系列密切相关的操作的集合。

4、每秒通过的事务数(Transaction Per Second,TPS)

  • 系统每秒处理的事务的数量。
  • 举例:地铁站有10个检票机,乘客通过每一个检票机需要的时间是1s
    • 事务:乘客通过每一个检票机,
    • 有5个乘客时,每秒通过的事务数是多少? 5
    • 有10个乘客时,每秒通过的事务数是多少? 10
    • 有100个乘客时,每秒通过的事务数是多少? 10(最多每秒处理10个)

5、点击率(HTTP Per Second)

  • 每秒向服务器发送的 HTTP 请求的过程。

6、吞吐量/率

  • 一个系统单位时间内处理的信息量,tps,点击率,bytes/s

7、思考时间

  • 事务或者多个操作里面的间隔时间

8、系统的资源利用率

  • 在系统运行的时候,CPU占有量,硬盘、网络宽带、耗电量…

六、性能测试模型-理发师模型

  • 理发师模型是解释吞吐量和响应时间的模型。在一家理发店,里面有3名理发师,每个理发师水平相当,每次给一位顾客理发需要10分钟。
人数(并发数)平均响应时间
110
210
310
440/3
5
  • 如果用户希望在10分钟内剪完头发,怎么做?----》增加理发师,或者提高剪头效率。
  • 那么如何提高一个系统的吞吐量?----》选择框架提高算法的效率、选择并发效率高的框架、

七、系统性能不同角色的关注点

  • 用户:响应时间、系统是否稳定。
  • 开发人员:合适的框架选择、算法的效率、数据库的选择、是否存在资源分配不合理、内存泄漏情况。
  • 运维人员:数据库服务器配置、系统服务器配置、7*24小时系统运行是否稳定、系统支撑最大的用户访问量。
  • 测试人员:定位是哪一方面的问题。

八、性能测试的类型

  • 性能测试的目的不同,采用的性能测试类型不一样。

1、基准测试

  • 当一个新的系统开发完成后或者接手一个新的系统的时候,就需要了解这个系统的性能,需要进行基准性能测试。
  • 基准测试要确定这个系统承受的最大并发数,响应时间、事务平均响应时间、每秒处理的事务数、吞吐量、点击率等等。

2、压力测试

  • 使系统长时间处于高压(高并发)地状态下,来运行系统,查看系统是否运行稳定、是否存在资源分配不均、内存泄漏、死锁、各项性能指标是否稳定。
  • 高并发,并发数量基本接近与系统所能承受的最大并发数,甚至高于系统的最大并发数。主要是寻找系统的瓶颈。

3、配置测试

  • 改变系统的软硬件配置,进行系统的性能测试,来找到一定压力下系统最合理的配置。
  • 硬件配置、数据库配置、系统部署的服务器(一般在 linux 系统上)、网络宽带。

4、可靠性测试

  • 系统的压力处于系统所能承受的最大压力的60%~70%左右,长时间的运行系统(7*24小时),观察系统的出错率,以及系统的
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值