1. 常见的性能问题
访问12306的时候,由于访问量过高导致该app系统崩了;
2. 性能测试
测试人员借助测试工具,模拟系统在不同的场景下,对应的性能指标是否达到预期;
3. 性能测试和功能测试
功能测试:人工来完成;
性能测试:借助工具完成;
功能测试:不管在什么场景下,只要能够运行就ok;
性能测试:在一些极端的情况下,需要保障软甲能够正常运行和工作;
4.性能好坏的软件表现
如下图所示:
DAU:day active user指的是每日活跃的用户;上述软件dau数量很高且软件没有出现问题,可见这些软件的性能还是很不错的;
软件1.0版本和软件2.0版本是具有一样的功能,但是除此之外1.0登录需要花费1s,软件2登录需要花费2s,说明软件2的性能做了提升,所以软件2的性能是比较好的;
5. 为什么要进行性能测试
5.1 性格能测试的原因分析
1、获取系统性能的指标,作为性能指标的基准(获取1.0版本的性能数据作为指标,和2.0的数据进行比较)
2、验证系统的性能指标是否达到要求(性能需求)(软件是否能够承载一定数量的访问量)
应用程序是否能够满足系统要求的各中性能指标
应用程序是否能处理预期的用户负载并有盈余能力
应用程序是否能处理业务所需要的事务数量
在预期和非预期的用户负载下,应用程序是否稳定
是否能确保用户在真正使用软件时获得舒服的体验
3、发现系统的性能瓶颈,内存泄漏等问题。
4、系统正常工作的情况下的最大容量。
5、帮助系统运维部门能更好的规划硬件配置。(即时升级硬件的设备,确保软件能够正确运行)
5.2 性能测试的流程
1、分析性能测试需求
2、根据性能测试的目标,设计性能测试的场景
3、开发性能测试场景和性能测试脚本
4、分析性能测试报告
5、根据性能测试报告排查和定能系统的性能瓶颈
6. 常见的性能指标以及性能测试专用术语
6.1 并发数
在阅兵的时候,只有一大群的人买着相同的步伐,使用相同的节奏往前走的时候,声音是非常响亮了,这就是所谓的并发,因为这个马路此时承载的压力是十分巨大的;
类似于软件,在双11的时候,会有大量的用户同时操作淘宝系统,此时该系统的承载压力是十分巨大的;
并发的条件:大量用户,同时操作;
并发数:此时的大量用户数就是并发数(也叫并发用户数);
系统用户数:数据可以中存储的用户数;
在线用户数:登录成功后的用户数量;
并发用户数:在系统达到并发的时候,用户的数量即为并发用户数;
6.2 响应时间/平均响应时间(RT/ART)
1、用户响应时间:用户从发起请求到用户看到=响应中间经历的这段时间:N1+A +N2+A2+N3+A3+N4+A4;如下所示:
2、请求响应实践:服务器接收到请求到发出响应的这段时间;A1+N2+A2+N3+A3;
q:如果一个软件(dd)发布上线了,但是打车的时候,页面响应时间比较长,是因为那些原因会导致这个现象的产生?
a:用户设备太老旧;网络太慢了;服务处理太慢;软件算法的时间复杂度太高了;数据库性能太差;
3、事务响应时间
事务是从请求开始,到事务响应完成花费的时间就是事务响应时间;
6.3 每秒事务通过数(Transaction Per Second)
TPS 是指每秒系统能够处理的事务数。它是衡量系统处理能力的重要指标。 当压力加大时,TPS曲线如果变化缓慢或者有平坦的趋势,很有可能是服务器开始出现瓶颈了。如果环境没有发生大的变化,对于同一系统会存在一个最大处理事务能力,它并不随着并发用户的增减而改变。
如果tps越大,代表系统梳理的能力越高越强;
YB地铁检票机:
只有10台进站检票的机器,1台机器1秒能进1个人 ;
并发用户数为5,则TPS为5 ;
并发用户数为10,则TPS为10;
并发用户数为100,则TPS仍为10
6.4 点击率(Hit Per Second)
每秒点击数代表用户每秒向Web 服务器提交的HTTP请求数。点击率越大,服务器压力越大。 这里的点击并不是鼠标的一次点击,一次点击可能有多次HTTP请求。
如下图所示:
6.5 吞吐量和吞吐率
吞吐量:用户每次请求和服务器之间的数据交互;
每一个size都是指的是一条双方交互;
吞吐率:吞吐量/请求梳理时间;如下图:
思考时间(Think Time):
指模拟正式用户在实际操作时的停顿间隔时间,从业务的角度来讲,思考时间指的是用户在进行操作 时,每个请求之间的间隔时间。
资源利用率:
不同系统资源的使用情况。包含CPU,内存,硬盘,网络等。
7. 性能测试分类
7.1 基准性能测试
让系统在正常的情况下运行,观察各种性能指标;
应用场景:性能摸底;
7.2 负载性能测试
让系统背负一定的压力,观察性能指标是否出现拐点;
7.3 压力测试
让系统处于饱和状态,观察系统的性能指标;
压力测试往往会把系统搞崩贵;
7.4 可靠性测试
验证系统在一段时间内持续运行,观察各项性能指标是否正常;
让系统在一周内持续运行,看系统是否有异常;
让系统在一个月内持续运行,看系统是否有异常;
让系统在一年内持续运行,看系统是否有异常;
ps:本文就到这里了,谢谢观看!!!