性能测试5.19
面试过程中,性能测试你测什么,关注点是什么?
程序的响应时间,系统的吞吐量,以及并发用户数,和tps,qps,以及DB的IOPS,和服务器的系统资源(CPU和内存)通过一定的工具或者代码的方式。来验证被测程序是否满足性能测试的目标,以及验证程序是否会出现OOM,系统崩溃,系统无响应等情况。
领导给你一个任务 你的工作流程是什么?
1、目标是什么?
2、怎么去做?
3、过程中你需要收集数据
4、一定要有结论
性能测试的流程有哪些?
测试前期准备
1、梳理清楚性能测试的目标(参考之前的历史数据,性能的目标由测试主导梳理出来,但是和大家一起沟通决定下来)
2、在目标的基础上,梳理出场景,和准备测试数据
3、准备资源(人力和机器资源)
测试工具技术引入
1、LoadRunner HP公司研发的工具,主要在工业级的性能测试中具备非常大的优势,它是收费的。
2、JMeter Apache基金会顶级项目,是java语言100%开发的,它是开源的,在头部互联网公司基本都是进行二次开发,应用也是非常广泛的
3、Locust是Python代码级别的性能测试工具,它是基于协程(微小的线程)
测试环境没有问题,发布到线上总是出现问题怎么解决
这个时候可以增加预发布环境,规避问题---预发布环境和线上环境除过数据库外,没有其他的不同,所以我们可以在预发布环境没有问题了再发布
负载测试
在被测系统上持续不断的增加压力,直到性能指标(响应时间等)超过预定指标或者某种资源(CPU&内存)使用已经达到饱和状态。核心是找到系统的处理极限,为系统调优提供数据,从而达到了解系统性能的容量。
压力测试
该方法时指系统在一定饱和状态下,具体如CPU,内存等饱和使用的情况下,系统能够处理的会话能力,以及系统是否会出现错误,比如TimeOut,OOM,OverStackExpection(堆栈异常)。压力测试的特点:
检查系统在处于压力情况下时应用的性能表现
等价于负载测试,使系统的资源处于一种瓶颈的状态(建议CPU和内存在75%以上)
这种方式一般用于测试系统的稳定性
TimeOut:超时
OOM(Java.lang.Out Of Memory):内存泄露
OverStackExpection:堆栈溢出
负载测试:就是不断给被测系统持续不断的增加压力,直到性能指标超过预定的指标或者资源使用已经达到了饱和状态,找到系统的处理极限,为系统的调优提供数据,从而达到了解系统性能的容量----这个是压力由小到大 找到极限值。
压力测试:这个是系统在一定饱和的状态下,系统能够处理会话的能力以及系统是否会出现错误,比如TimeOut,OOM,OverStackExpection(堆栈异常)----这个是基于上面的负载测试找到的极限值,就是在这种极限值的情况下是否能够处理会话能力
第二:怎么去做----在目标清楚的基础上,梳理出测试场景,和准备测试数据
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构