一篇打通,性能测试与性能测试瓶颈评估,测试之道...

这篇具有很好参考价值的文章主要介绍了一篇打通,性能测试与性能测试瓶颈评估,测试之道...。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

什么是性能测试?

性能测试是验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,优化软件,最后起到优化系统的目的。

概括为三个方面:
应用在客户端性能的测试;
应用在网络上性能的测试;
应用在服务器端性能的测试;

通常情况下,三方面有效、合理的结合,可以达到对系统性能全面的分析和瓶颈的预测。

目前绝大多数应用都是基于网络的分布式应用,我们无法知道用户数量,用户场景的不确定性,导致系统测试时,不仅仅是功能,业务逻辑,接口测试,还要测试系统性能。一个用户没问题,但是用户一旦多了就可能出现各种各样的问题,所以需要进行系统性能测试。

用户数量增加,系统负债增加,进行系统性能测试,知道系统承受的并发用户数量,带宽是否够用,cpu是否够用,内存是否够用,硬盘速度是否跟得上。从服务端来看,测试服务器是否能承载用户多并发,系统是否稳定,从用户角度看响应时间速度。

当然性能测试不单是指用户数量增加的场景,还有各方面的,拿购物网站举例,可以含有以下方面的性能测试内容(不限于此):
突发大数量用户同时操作;
长时间操作;
弱网下操作(可以在多差的网络下仍继续正常工作);

性能测试目的?

1、评估系统的能力:测试中得到的负荷和响应时间数据可以被用于验证所计划的模型的能力,并帮助作出决策。(根据测试结果查看是否符合指标,如果是首个版本,可以作为规格说明书中的指标参考)。

2、识别体系中的弱点:受控的负荷可以被增加到一个极端的水平,并突破它,从而修复体系的瓶颈或薄弱的地方。(找到弱点,在整个产品生命周期中,不断提升,所谓知己知彼)。

3、系统调优:重复运行测试,验证调整系统的活动得到了预期的结果,从而改进性能。

4、检测软件中的问题:长时间的测试执行可导致程序发生由于内存泄露引起的失败,揭示程序中的隐含的问题或冲突。(通过内存趋势图,可以预判结果)。

5、验证稳定性(resilience)可靠性(reliability):在一个生产负荷下执行测试一定的时间是评估系统稳定性和可靠性是否满足要求的唯一方法。

性能测试如何判断达到系统瓶颈?

做性能压测的时候,把并发线程数按照阶梯式不断累加上去,观察cpu是否有达到80%以上。

如果有,即已经达到系统瓶颈,此时也不用再压下去,压下去只会把系统打爆掉,应该去查看此时的TPS是否满足预期。

如果满足预期设定的值,则可以不用考虑隐患(前提是预期值要设置的合理),如果不满足预期的TPS,就需要根据具体性能瓶颈,提出优化改进建议。

而优化改进建议就通过观察是哪个地方的瓶颈最明显,最值得修改,就对该地方作出优化,比如RDS、连接池、Redis、代码逻辑、系统配置、JVM服务等等。

粗略几个影响点:
系统内存容量太小–影响系统性能;
算法过于繁琐–影响系统性能;
慢sql–影响RDS性能;
数据库连接过多,超出容量–影响系统的连接池性能;
redis请求过多–影响Redis性能;

如何分析瓶颈所在?

首先遇到TPS低于20,RT大于2000ms的压测结果,那么肯定不是一个正常的结果,此时要观察各个服务的指标情况。

根据时间区间,在pinpoint上面看接口请求分布,拉到具体的接口分布列表,查看当前测试接口的详情,查看调用链路是有哪些。

根据调用链路,可以看到有做了数据库的连接(涉及到连接池),有查询redis,或者还有系统算法的内容。

根据每个环节的耗时,有没有耗时特别长的,比如大于100ms的那种,比如连接数据库时间特别长,那么就可能是在连接池连接的时候较慢,原因是并发数太多,容量不够,排队等待的时间太久了。

给出建议:需要增加连接池的容量。

也可以查看系统cpu的情况,根据cpu占比中的系统或者JVM的占比是否异常高,如果是系统的占比异常高,则可能是代码中算法复杂,比如if循环较多。

除了cpu,还有可能是其他指数会有异常飙高,实践出真知。

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

一篇打通,性能测试与性能测试瓶颈评估,测试之道...

二、接口自动化项目实战

一篇打通,性能测试与性能测试瓶颈评估,测试之道...

三、Web自动化项目实战

一篇打通,性能测试与性能测试瓶颈评估,测试之道...

四、App自动化项目实战

一篇打通,性能测试与性能测试瓶颈评估,测试之道...

五、一线大厂简历

一篇打通,性能测试与性能测试瓶颈评估,测试之道...

六、测试开发DevOps体系

一篇打通,性能测试与性能测试瓶颈评估,测试之道...

七、常用自动化测试工具

一篇打通,性能测试与性能测试瓶颈评估,测试之道...

八、JMeter性能测试

一篇打通,性能测试与性能测试瓶颈评估,测试之道...

九、总结(尾部小惊喜)

只有在你最疲惫、迷茫的时候,才需要更坚定地相信自己。不要轻易放弃,因为下一秒钟就可能是奇迹的发生。永远不要停止前进,每一步都在成为更好的自己。继续奋斗,勇往直前!

只有不断努力,才能走向成功的道路;只有面对困难,才能展现出自己的勇气和智慧;只有坚持不懈,才能成就伟大的事业;只有勇往直前,才不会让生命留下遗憾。

只有不断努力,才能创造出更加辉煌的人生;只有拼搏奋斗,才能实现自己的理想和追求;只有勇于面对挑战,才能取得成功的胜利;只有坚定信念,才能走向人生巅峰。文章来源地址https://www.toymoban.com/news/detail-495236.html

到了这里,关于一篇打通,性能测试与性能测试瓶颈评估,测试之道...的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 全网最全,性能测试-性能瓶颈分析详全,优秀的性能测试工程师养成记...

    内存分析 内存的使用情况是系统性能中重要的因素之一,频繁的页交换及内存泄露都会影响到系统的性能(在这主要以Windows系统为主)。 内存分析用于判断系统有无遇到内存瓶颈,是否需要通过增加内存等手段提高系统性能表现。 1、查看MemoryAvailable Mbytes指标 在对系统进

    2024年02月05日
    浏览(70)
  • redis性能测试及瓶颈分析调优

    一、简介 Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API mysql与redis的区别: 类型上mysql是关系型数据库,而redis是缓存数据库; 作用上mysql用于持久化的存储数

    2024年02月06日
    浏览(56)
  • 性能测试时,如何分析radis的瓶颈

    通常局限点来说,Redis也以消息队列的形式存在,作为内嵌的List存在,,满足实时的高并发需求。而通常在一个电商类型的数据处理过程之中,有关商品,热销,推荐排序的队列,通常存放在Redis之中,期间也包扩Storm对于Redis列表的读取和更新。 性能极高 --Redis能支持超过

    2024年02月11日
    浏览(84)
  • 爆肝整理,Python自动化测试-Pytest参数化实战封装,一篇打通...

    参数化? 通俗点理解就是,定义一个测试类或测试函数,可以传入不同测试用例对应的参数,从而执行多个测试用例。 例如: 对登录接口进行测试,假设有3条用例,正确账号正确密码登录、正确账号错误密码登录、错误账号正确密码登录,那么我们只需要定义一个登陆测试

    2024年02月13日
    浏览(55)
  • 微信小程序如何性能测试? —— 华为云性能测试服务(CPTS)压测到服务后端,并完成性能评估

    微信小程序作为手机页面的一种,相比传统的网站和应用来说存在比较特殊的地方: 1、  开发者往往对程序做了限制,只能通过微信客户端访问 2、  通过微信的Oauth进行认证 这样往往会导致我们的性能测试工具无法压测到应用的后台服务,这里就跟大家分享下如何通过华为

    2024年02月11日
    浏览(54)
  • 人脸识别场景下Faiss大规模向量检测性能测试评估分析

    在前面的两篇博文中,主要是考虑基于之前以往的人脸识别项目经历结合最近使用到的faiss来构建更加高效的检索系统,感兴趣的话可以自行移步阅读即可: 《基于facenet+faiss开发构建人脸识别系统》 《基于arcFace+faiss开发构建人脸识别系统》 在前面两篇博文中整体的计算流程

    2024年02月13日
    浏览(47)
  • 使用免费负载生成器swingbench对oracle数据库进行压力测试(测试Oracle的功能或评估性能)

    Swingbench 是一个免费负载生成器(和基准测试),旨在对 Oracle 数据库 进行压力测试。目前最新版本 Swingbench 2.6。 SwingBench 由负载生成器,协调器和集群概述组成。该软件可以生成负载 并绘制交易/响应时间图表。 Swingbench 可用于演示和测试技术,例如实际应用程序集群,在线

    2024年02月10日
    浏览(56)
  • 性能分析5部曲:瓶颈分析与问题定位,如何快速解决瓶颈?

    一、引言 很多做性能测试的同学都问过我这样一个问题:鱼哥(Carl_奕然),你说性能测试的重点是什么? 我的回答很简单:瓶颈分析与问题定位。 在性能项目的整个周期,不管是脚本设计,脚本编写还是脚本执行,都还算简单。 难点在于如何定位瓶颈,分析瓶颈,解决瓶颈。

    2024年02月20日
    浏览(43)
  • 硬件性能 - 网络瓶颈分析

    简介 本文章主要通过Linux命令查看网络信息、判断是否出现网络瓶颈等简单分析方法。其他硬件性能分析如下: 1. 硬件性能 - CPU瓶颈分析 2. 硬件性能 - 掌握内存知识 3. 硬件性能 - 磁盘瓶颈分析 目录 1. 监控命令 sar 2. 带宽利用率 3. 网络延迟 4. 网络连接数 5. 模拟网络故障

    2024年02月13日
    浏览(43)
  • 记一次Flink遇到性能瓶颈

    这周的主要时间花在Flink上面,做了一个简单的从文本文件中读取数据,然后存入数据库的例子,能够正常的实现功能,但是遇到个问题,我有四台机器,自己搭建了一个standalone的集群,不论我把并行度设置多少,跑起来的耗时都非常接近,实在是百思不得其解。机器多似乎

    2023年04月15日
    浏览(74)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包