性能分析5部曲:瓶颈分析与问题定位,如何快速解决瓶颈?

这篇具有很好参考价值的文章主要介绍了性能分析5部曲:瓶颈分析与问题定位,如何快速解决瓶颈?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、引言

很多做性能测试的同学都问过我这样一个问题:鱼哥(Carl_奕然),你说性能测试的重点是什么?

我的回答很简单:瓶颈分析与问题定位。

在性能项目的整个周期,不管是脚本设计,脚本编写还是脚本执行,都还算简单。

难点在于如何定位瓶颈,分析瓶颈,解决瓶颈。

如果你不会性能分析,脚本设计的再好,脚本编写的再完美,分析不出问题所在,那都是白白浪费时间。

所以,这一讲,我们来学习:如何进行性能分析,学会了性能分析的思路,才能定位问题,分析问题,从而解决问题。

在性能项目中,我总结的性能分析思路,分5个模块,即性能分析5部曲,如下:

1、判断性能瓶颈;

2、线程递增策略;

3、性能衰减过程;

4、拆分响应时间;

5、构建分析决策tree;

接下来,我就对这5部曲进行一一解释。

二、判断性能瓶颈

在整个性能测试阶段,让性能测试工程师最艰难的,就是如何定位性能瓶颈。

如果无法定位到性能瓶颈,那么对开发同学的支持也就有了限制,这无疑即增加了解决问题的时间,又增加了开发工程师的工作量。

这时候,你会说,开发工程师的职责不就是解决性能瓶颈吗,

那要是这样说, 测试工程师的职责,可不仅仅是发现性能瓶颈,还需要定位性能瓶颈,换句话说,也就是协助开发工程师快速定位并解决性能问题。

为什么说在整个性能项目中,最难得就是分析性能瓶颈。

这里,我先上一张图,为了更形象的表现接下来要描述的内容,我把图片做了一点处理:
性能分析5部曲:瓶颈分析与问题定位,如何快速解决瓶颈?,软件测试,服务器,数据库,运维,自动化测试,软件测试,功能测试,程序人生

通过这张图,我们很直观的知道:这是一个阶梯式增加的压测场景。

但是,根据这个图,你能判断出拐点在哪里吗?

如果无法判断哪里是拐点,那我再上一张ResponseTime(后面简称为RT)图:

性能分析5部曲:瓶颈分析与问题定位,如何快速解决瓶颈?,软件测试,服务器,数据库,运维,自动化测试,软件测试,功能测试,程序人生

同样,为了让你更直观的查看RT图,, 我同样也对RT图做了优化处理。

结合RT图与TSP图,我们能不能判断拐点在哪里呢?

如果你觉得在3.3s的位置是拐点。我不能否认你说的完全错误,但是,我也不会认同你的观点, 为什么呢?

因为,根据多年的经验,判断的标准是:随着TPS的不断增加,找到那个清晰可见的弧度。

这一点很重要,需要你记住。

我举个例子:如果按照你刚刚的说法,只根据一个拐点来进行判断,想象一下,

假如网络出现突然的抖动,按照你刚刚的判断依据(只根据一个拐点),是不是就不准确了。。

所以,一定是找到那个 清晰可见的 弧度。

我们在回来说上面的TPS图与RT图,根据这两个图,你能得出哪些结论呢?

是不是可以得出这个系统有瓶颈,系统的瓶颈与压力有关系,并且随着压力的增加,涨幅在逐渐减少。

到这里, 需要请你在思考一个问题:瓶颈点是否跟压力的大小有关?

答案:肯定不是跟压力大小有关。

既然不是跟压力大小有关,那么,根据什么有关呢?

其实结合上面的图, 我们可以知道:

①引起系统瓶颈的问题是有规律的;

②TPS是周期性的降低,并且最大的TPS也都差不多是一致的;

所以,即使压力降低,最多只是降低最大的TPS水位,这种情况只是让问题出现的更晚一点,但不会不出现的。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

性能分析5部曲:瓶颈分析与问题定位,如何快速解决瓶颈?,软件测试,服务器,数据库,运维,自动化测试,软件测试,功能测试,程序人生

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

性能分析5部曲:瓶颈分析与问题定位,如何快速解决瓶颈?,软件测试,服务器,数据库,运维,自动化测试,软件测试,功能测试,程序人生文章来源地址https://www.toymoban.com/news/detail-831119.html

到了这里,关于性能分析5部曲:瓶颈分析与问题定位,如何快速解决瓶颈?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • redis性能测试及瓶颈分析调优

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

    2024年02月06日
    浏览(56)
  • 全网最全,性能测试-性能瓶颈分析详全,优秀的性能测试工程师养成记...

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

    2024年02月05日
    浏览(70)
  • 性能测试分析定位

    当我们在性能测试过程中,遇到TPS无法上去、请求响应时间过长、各类资源利用率遇到瓶颈时,应该如何对它们进行分析定位。   硬件资源不足:服务器的CPU、内存、磁盘等硬件资源不足,无法支撑高并发的请求处理。可以通过增加硬件资源或者优化服务器配置来提升TPS。

    2024年03月26日
    浏览(47)
  • 性能测试分析案例-定位redis响应延迟

    预先安装 docker、sysstat 、git、make 等工具,如 apt install docker.io sysstat 案例由 Python 应用 +Redis 两部分组成。其中,Python 应用是一个基于 Flask 的应用,它会利用 Redis ,来管理应用程序的缓存,并对外提供三个 HTTP 接口: /:返回 hello redis; /init/:插入指定数量的缓存数据,如果

    2024年01月16日
    浏览(44)
  • 性能测试分析案例-定位服务器丢包

    预先安装 docker、curl、hping3 等工具,如 apt install docker.io curl hping3。 案例是一个 Nginx 应用,如下图所示,hping3 和 curl 是 Nginx 的客户端。 在终端一中执行下面的命令,启动 Nginx 应用,并在 80 端口监听。如果一切正常,你应该可以看到如下的输出: 执行 docker ps 命令,查询容

    2024年02月01日
    浏览(44)
  • JAVA性能问题分析

    内存、cpu linux命令 top 展示了机器的cpu、内存、swap区情况 kill -3 pid 会生成对应进程的各线程的 java 调用栈信息以及内存情况。注意tomcat做了重定向文件,可以打印在tomcat_catlina.log.默认在  /proc/pid/cwd目录下 1、原生jdk命令       jmap 内存       jstat 配合查看内存、cpu、gc问题

    2024年02月03日
    浏览(37)
  • [MySQL 如何分析性能]

    慢查询日志 慢查询日志记录了所有执行时间超过指定参数(long_query_time,单位:秒,默认10秒)的所有SQL语句的日志。 MySQL的慢查询日志默认没有开启,需要在MySQL的配置文件(/etc/my,cnf)中配置如下信息: 修改配置文件 profile详情 show profiles 能够在做 SQL优化时帮助我们了解时

    2024年02月05日
    浏览(36)
  • kafka消费、生产性能问题分析及优化方法

    问题分析:将代码逻辑注释掉,直进行拉取数据操作,性能应为每分钟产生消息的2倍以上

    2024年02月07日
    浏览(48)
  • Oracle-数据库性能变慢问题分析

    问题背景:         应用运维报障说最近两天业务数据入库和表查询都变得很慢,需要排查一下数据库的性能问题 问题分析:         登录到服务器上,通过TOP命令快速看了一下,服务器整体的CPU使用%usr不算特别高,但%wa IO等待很高,怀疑有可能是数据库存在大量的

    2024年01月20日
    浏览(56)
  • 如何监测和优化阿里云服务器的性能?有哪些性能分析工具和指标?

    如何监测和优化阿里云服务器的性能?有哪些性能分析工具和指标? 阿里云服务器性能监测与优化是云计算服务中一个非常重要的环节。为了确保服务器稳定、高效地运行,我们需要对其性能进行监测,并在监测的基础上进行优化。本文将为您介绍如何监测和优化阿里云服务

    2024年02月11日
    浏览(46)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包