性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。
通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。
综上所述,进行性能测试有助于发现系统性能瓶颈,评估系统能力,优化系统性能,检验系统可靠性,并提供良好的用户体验。这些优点可以帮助保障系统的稳定性和性能,并满足用户和客户的需求。
在开展性能测试之前,需要有一个明确的业务场景。比如如下场景:
以上的场景都有一个共同特点,是在某个瞬间,来自用户的请求信息达到了远远超出平日正常使用的峰值。
当然了,除了以上的场景,日常的性能测试,也需要拉通业务,产品,确定产品的用户量,根据这些信息制定合理的用户数、并发数、响应时间等等。
如果是完全新上线的产品,在第一次发布的时候,会主要参考竞品的数据指标,制定性能测试计划。
性能测试的价值除了上述保证产品上线之后能正常使用之外,还有一个非常重要的因素,就是降本增效。
因为服务器的价格是非常昂贵的。在能满足需求的情况下,能少买一台服务器,都是在替老板省钱。
性能省钱公式:良好的容量规划能⼒ + 性能调优能⼒ = 为老板省钱
性能测试能力是测开工程师精华加分项。
性能测试知识体系主要分为四大模块:
性能调优是整个性能测试过程中最难的一个环节,除了要掌握以上的知识之外,还需要具备非常强的代码基础以及非常丰富的项目经验。所以基本上能做调优的测试,都是在资深专家以上的级别。
这张图是一张非常经典的和测试相关的图片,叫做性能压⼒曲线图。
曲线图关键点介绍:
纵轴的三条曲线,每条曲线都是在性能测试过程中重点关注的信息:
而在随着用户数不停增大,很明显的可以看到图中有两个拐点:
过程分析:
综上所述,当系统的负载等于最佳并发用户数时,系统的整体效率最高,没有资源被浪费,用户也不需要等待;当系统负载处于最佳并发用户数和最大并发用户数之间时,系统可以继续工作,但是用户的等待时间延长,满意度开始降低,并且如果负载一直持续,将最终会导致有些用户无法忍受而放弃;当系统负载大于最大并发用户数时,将注定会导致某些用户无法忍受超长的响应时间而放弃。
所以性能测试的数据尽量保持在 CPU 利用率足够高,整个系统的吞吐负载可控。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。