[测试]性能测试概述

1.常见的性能问题

(1)内存泄漏

        软件运行的时候没有回收内存,导致系统越来越慢

(2)CPU 使用率达到100%

(3)线程死锁,阻塞,造成系统运行越来越慢

(4)查询速度越来越慢

(5)受外部系统的影响越来越大

2.为什么要进行性能测试

(1)获取系统性能的指标,作为性能基准指标

        一个新系统,你不熟悉不知道这个系统的性能指标

(2)验证系统的性能指标是否符合需求

  • 应用系统是能够满足系统的各项性能指标
  • 应用系统是否可以处理预期的用户数量,并且是否有盈余能力
  • 应用系统是否可以处理预期的事务数量
  • 在预期和非预期的情况下,系统是否可以稳定的运行
  • 在预期或者非预期的情况下,用户使用软件时是否可以获得舒适的体验

(3)看系统是否有内存泄露等瓶颈问题

(4)系统在正常工作下能处理的用户的数量

(5)了解系统的性能,让运维部门更好的规划系统的各种配置

3.确定性能测试的需求(性能指标,量化)

(1)关键性能指标分析

【例1】某电商交易系统,业务要求支持2亿用户(同一时刻1%的用户在线),每天支持2000万次交易量(交易

的时间集中在早上8点到凌晨2点),交易响应时间要求在1s中之内。

此外,高峰期系统的处理能力要求是平均值的3倍;

本地交易响应时间正常低于1s,在高峰时可以高于1s,但是要在3s内。

正常及交易成功率100%,在高峰期不能低于99.9%

这样的业务要求,作为测试人员,如何转化为可以性能测试可以验证的指标呢?

(1)业务支持2亿用户

数据库要支持这个量级的数据存储。同时按1%的用户在线,那么意味着同时有200万用户在线,那系统就要支

持这个数量级用户的各种增删改查操作。

(2)每天支持2000万次交易

根据题意,每天交易的时间在18小时,折算成每秒需要完成多少次交易,即20000000/(18*60*60)=309

次/s。高峰期 927次/秒

......

(2)关键业务的分析

系统出问题,一般不是系统所有的功能出问题,而是一些关键的业务或者功能出了问题导致的

①在分析性能指标的时候,要选择用户频繁使用的功能。

②计算量比较大的业务

4.不同维度衡量系统的性能

(1)研发人员

系统架构是否合理,是否支持多线程并发这类操作

数据库设计是否合理,(合理的索引和合理的关联表关系)

算法,核心算法是否高效

设计和代码:是否存在不合理的线程同步方式和不合理的资源竞争

(2)系统运维人员

系统对资源的利用率,服务器(CPU,内存,磁盘,网络带宽等)的利用率和数据库的使用状况

系统容量:系统支持的最大用户数

系统的稳定性:是否可以稳定运行,一天24小时

系统的可扩容性,如果要进行扩容操作,系统可以支持

(3)用户

使用起来是否舒适,响应速度是否快,稳定性好

(4)性能测试人员

以上的层面都需要关注

当系统性能无法达到时,关注引起系统性能的瓶颈

 

5.性能指标

(1)并发的用户数

业务层面的并发数:同一时刻向后端服务器发送请求的用户的数量

后端服务器的并发数:同一时刻向后台服务器发送请求的数量

(2)响应时间

指的是用户发送请求,到用户所期待的响应完全展示到前端所需要的时间

前端响应时间

系统响应时间,服务器之间通信处理请求所需要的时间

(3)事务的响应时间

事务:指的是一系列密切相关的操作的集合

系统中完成一个事务的平均响应时间

(4)每秒事务通过数

TPS(Transaction Per Second)

平均每秒处理的事务的数量

 

(5)点击率

每秒点击数代表用户每秒向Web服务器提交的HTTP请求的个数

点击率越大,服务器的压力越大

(6)吞吐量⭐

单位时间系统处理的信息量

TPS ,HPS(HTTP Per Second) bytes/Second

(7)思考时间

模拟用户时间操作的停顿时间

(8)资源利用率

系统运行的时候资源的使用情况,包括 CPU(不超过70%),内存,硬盘,网络

6.模型

当系统性能不满足需求的时候,我们需要扩展系统的性能

7.性能测试方法

(1)基准测试(没有性能要求,主要了解系统的性能)

系统的新版本,或者先接手的系统,需要进行基准测试,获得系统的性能指标,作为以后改善系统性能,或者保持系统性能的基准。

进行基准测试不仅可以获取系统的基准性能指标,也可以能会发现新系统的一些性能问题

(2)并发测试

同一时刻,像后端服务器发送请求,测试系统的表现,看系统是否会因为用户量大而出现资源竞争,死锁等问题。

(3)压力测试

压力测试一般指后端眼里的测试,不断对系统施加压力,看系统在长期处于临界饱和情况下,系统稳定性以及系统性能指标的变化

进行压力测试的时候会不断向系统增加负载,使得系统长期处于高负荷情况,看系统在极限的情况下是否稳定,确定系统在极限情况下的CPU利用率,内存使用情况等其他指标

 

(4)配置测试

系统配置在不同的配置上进行测试,找出能够使得系统性能发挥最优的配置

操作系统的配置 Linux Ubuntu Redhat

数据服务器的配置 读写,存储容量大

JVM 配置

网络环境

服务器,内存,磁盘等

(5)可靠性测试 (24小时,一周)

验证系统长时间运行的稳定性

系统实际负载的 70% 左右,长时间运行,看系统是否运行稳定,指标是否稳定

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值