当前位置: 首页 > news >正文

性能测试基础知识点

性能测试与功能测试的区别

性能测试:找到程序的极限值;举例:测试一辆车,车胎是否有噪音,百公路加速多少秒(好不好用)
功能测试:验证功能是否缺失、是否与预期一致举例:测试车轮转不转的动,车有没有方向盘(是否能用、正常)

找极限的目的是什么?

保证系统上线后是否正常运行,不会遇到突然情况导致掉线,奔溃而造成的经济损失
(只要找到极限,我们可以去设置预警机制,预警值一般是极限值向下兼容20%,如:极限值是100,到数据达到80时,系统就应该开始报警)

可能影响性能的因素

服务器资源占用,cpu处理速度、线程的多少
只要启动项目,就会占用资源,资源一占用,程序变慢,直到无法运行
在这里插入图片描述
服务器接收到客户请求后到操作步骤
举例理解;cpu相当于高速公路,线程相当于车,线程一多,车一多开车就慢容易堵车(cup处理不过来就会慢)
在这里插入图片描述### 指标的理解
什么东西可以当作我们的对应反馈参考指标
核心要务:1、响应时间;2、并发量;3、资源占用率;4、吞吐量;
响应时间:一个请求完成的时间(等待时间+处理时间)表现:网页响应时间(多个页面资源累加计算)
**并发量:**举例理解:老板,买个打卡系统—1万人同时下班是否能用?
相对并发:一段时间内向服务器发出请求并发(人的操作会有时间间隔)
绝对并发:一个时间点服务器收到的请求量(同一时间,没有时间间隔)

资源占用率:程序运行的角度,一个用户请求过来,对服务器资源占用多少
吞吐量: 一进一出(输入-处理-输出)数字/s: 反应程序处理姐能力的综合体现,越大越好,吞吐量的值越大说明数据处理快
QPS:每秒查询率(不涉及数据变化操作)
TPS:每秒事务处理数(设计数据变更的操作)

tips:怎么理解吞吐量与并发量
举例说明:
1、银行大厅-处理请求,有两个窗口8接口客户需要15分钟,一次来了10个人(这10个人指的是并发数)2个人去办理业务,8人等待,15分钟办理完后(吞吐量为2)
吞吐量过低:10分钟又来了10分子 人越来越多 挤满所以空间,结果-服务器死机
2、需求:银行大厅-处理请求,10个窗口 15分钟,上午来了两个人 吞吐量2,并发也是2(这种情况就无法知道吞吐量)由此可以得出,吞吐量有上限,但是一旦咨询数量不够,我们无法正确获得吞吐量,可以通过加并发量来得到吞吐量

怎么完成一次性能测试

基准测试:最少并发,用来确定用户每一次请求所占用的资源及和性能指标
性能测试中运行有一定的异常率,默认异常率小于0.05%(这个一般由公司决定)
找瓶颈:通过递增负载测试(压测),找瓶颈值

实例:测试读书屋网站搜索功能的性能

基准测试:前提条件:基础的搜索接口已经调通
在这里插入图片描述
我们把线程组对应 的线程属性修改一下(搜索请求较多时,查看接口处理速度),修改循环次数为永远,持续时间为120秒
在这里插入图片描述
然后我们去添加以下这个配置元件聚合报告、汇总报告、TPS(transations per Second)事物处理量、Response Times Over time(随着时间变化的响应时间)、Active Threads Over time(随着时间变化活动线程数)
在这里插入图片描述
在这里插入图片描述
点击“运行按钮”,系统会重复去发起搜索这个请求,然后我们就可以去看一下事物处理数及响应时间、随着时间变化的线程组数量的监控数据
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
这位我们需要着重去看一下汇总报告里面的异常率和吞吐量,异常率默认超过0.05%,则表示搜索接口存在性能问题
最大值与最小值指的是,最大每或者最小每秒处理事物的数量值,接收发送的数据指的是包的大小,样本为发送的总请求数量
在这里插入图片描述
找瓶颈:我们添加一个负载测试线程
在这里插入图片描述
设置线程属性,如每隔30秒,线程数量递增10,共100个线程
在这里插入图片描述
然后我们点击“运行”,系统开始去发送请求并依次递增数量
在这里插入图片描述
直到达到一定数量后,接口开始报错
在这里插入图片描述
当数据报错后,我们可以查看一下Transaction per Second事物处理量,大概请求量在300多点时候开始走势图开始下降,且出现绿线,绿线代表报错了,但是这里我们也只是得到一个大概的值,现在我们需要去验证这个值对不对
在这里插入图片描述
再添加一个负压线程,来验证我们刚刚猜测的值对不对,我们把线程数设置到310点样子去验证一下,这个值对不对,持续300秒
在这里插入图片描述
由于jemeter发起的请求时无序的,所以这里我们还需要添加一个常数吞吐量定时器
在这里插入图片描述
来控制并发行为,通常时间为60秒,当我们设置了这个吞吐量定时器后,这时系统会每秒钟发送310个请求过去,发送的请求数量就不会无序乱套
常数吞吐量定时器:用来固定对应dTPS数,每分钟60,则TPS为1,每分钟120,TPS数量则为2
在这里插入图片描述
当我们运行这个验证瓶颈值当负压测试时,系统炸了,就说明,瓶颈值一定我们猜测的数量之上,如果没炸则说明,真正的瓶颈值在我们猜测的这个瓶颈值之下,
这个时候我们可以去调整一下我们猜测的这个瓶颈值,调整值一般上下幅度在百分之10,从而逐步的去确定瓶颈值(运行数据时需要把其他线程关掉,否则可能会受影响)

相关文章:

  • RGMII(Reduced Gigabit Media Independent Interface)详解
  • 【论文分享02】A brief introduction to weakly supervised learning
  • 如何选择更安全的无人自助管理私人影院物联网框架?
  • 谈谈 ES 6.8 到 7.10 的功能变迁(4)- 聚合功能篇
  • Java中将异步调用转为同步的五种方法
  • 【漫话机器学习系列】105.学习速率(Learning Rate)
  • 第八章:虚拟机模块的整合
  • vue-signature-pad插件实现移动端签字功能(css,js)+将签名照片旋转90度之后的base64码传给后端
  • ThinkJSON:通过强化学习让大型语言模型(LLM)严格遵守JSON模式
  • vscode多文件编译构建(CMake)和调试C++
  • 【C# 变量字符串还原转义字符】
  • 记录一下用docker克隆某授权制定ip的环境恢复
  • Vite + React + TypeScript 全流程开发最新指南
  • 神经网络发展简史:从感知机到通用智能的进化之路
  • 电脑软件:推荐一款非常强大的视频音频转换剪辑工具FFmpeg Batch AV Converter V3.12
  • 业务随行原理
  • 取消票证会把指定的票证从数据库中删除,同时也会把票证和航班 等相关表中的关联关系一起删除。但在删除之前,它会先检查当前用户是否拥有这张票
  • 【CI/CD】CI/CD环境搭建流程和持续集成环境配置
  • Jasper AI技术浅析(四):自然语言处理(NLP)与生成技术
  • 钉钉合同审批对接腾讯电子签,实现合同全流程自动化管理
  • 个人网站可以做淘宝客吗/海淀区seo搜索优化
  • 网站的成功案例/seo代理计费系统
  • 嘉兴高端建站公司/360搜索引擎优化
  • 怎样建设香港网站/制作网站要找什么公司
  • 做网站分为哪几个岗位/福州百度分公司
  • 网络优化工程师是做什么的/长沙关键词优化新报价