职场必看!性能测试响应很慢怎么排查?

news2024/12/25 8:54:16

大多数的性能测试工作人员分为以下三个阶段:

1、出了问题看资源,资源占用如果很高,报以窃喜的心态,恩,发现了,原理是资源瓶颈。

2、资源没有出现瓶颈,通过一些技术手段分析,发现是组件的配置文件有问题,例如:server的并发策略有问题,带宽有问题,找到了线路短板性能中的短板,到了这个阶段在我看来是比较牛的测试。

3、以上均无问题的情况下,考虑数据结构和算法我个人接触到的来说,现在大多数的人员都是在仰望第二阶段,摸索第三阶段,希望从代码级发现出性能的问题,进行问题的发现和解决,也符合我们的bug越早发现修复的成本越低的理论。同时,也是一名性能测试工程师高薪的象征。

  性能测试调优哪些方面入手,如下几点:

  1、TPS波动较大

  原因解析:出现TPS波动较大问题的原因一般有网络波动、其他服务资源竞争以及垃圾回收问题这三种。

  · 性能测试环境一般都是在内网或者压测机和服务在同一网段,可通过监控网络的出入流量来排查;

  · 其他服务资源竞争也可能造成这一问题,可以通过Top命令或服务梳理方式来排查在压测时是否有其他服务运行导致资源竞争;

  · 调优方案:网络波动问题,可以让运维同事协助解决(比如切换网段或选择内网压测),或者等到网络较为稳定时候进行压测验证;

  · 资源竞争问题:通过命令监控和服务梳理,找出压测时正在运行的其他服务,通过沟通协调停止该服务(或者换个没资源竞争的服务节点重新压测也可以);

  · 垃圾回收问题:通过GC文件分析,如果发现有频繁的FGC,可以通过修改JVM的堆内存参数Xmx,然后再次压测验证(Xmx最大值不要超过服务节点内存的50%!)

  2、高并发下大量报错

  原因解析:常见的原因有短连接导致的端口被完全占用以及线程池最大线程数配置较小及超时时间较短导致。

  调优方案:

  ·短连接问题:修改服务节点的tcp_tw_reuse参数为1,释放TIME_WAIT scoket用于新的连接;

  · 线程池问题:修改服务节点中容器的server.xml文件中的配置参数。

  3、集群类系统,各服务节点负载不均衡

  原因解析:出现这类问题的原因一般是SLB服务设置了会话保持,会导致请求只分发到其中一个节点。

  调优方案:可通过修改SLB服务(F5/HA/Nginx)的会话保持参数为None,然后再次压测验证;

  4、并发数不断增加,TPS上不去,CPU使用率较低

  原因解析:SQL没有创建索引/SQL语句筛选条件不明确、代码中设有同步锁,高并发时出现锁等待;

  调优方案:

  · SQL问题:没有索引就创建索引,SQL语句筛选条件不明确就优化SQL和业务逻辑;

  · 同步锁问题:是否去掉同步锁,有时候不仅仅是技术问题,还涉及到业务逻辑的各种判断,是否去掉同步锁,建议和开发产品同事沟通确认;

  5、压测过程中TPS不断下降,CPU使用率不断降低

  原因解析:出现这种问题的原因可能是因为线程block导致,当然不排除其他可能;

  调优方案:如果是线程阻塞问题,修改线程策略,然后重新验证即可;

  总结:性能测试调优应该注意的要点:

  要点 1:在应用系统的设计开发过程中,应始终把性能放在考虑的范围内。

  要点 2:确定清晰明确的性能调优目标是关键。

  要点 3:必须保证性能调优后的程序运行正确。

  要点 4:系统的性能更大程度上取决于良好的设计,调优技巧只是一个辅助手段。

  要点 5:性能调优过程是迭代渐进的过程,每一次调优的结果都要反馈到后续的代码开发中去。

  要点 6:性能调优不能以牺牲代码的可读性和可维护性为代码。

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1136230.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解锁娜扎副驾,年轻人的第一台车就选哪吒AYA

最近“娜扎哪吒”的CP组合可谓刷屏汽车圈,一个是高颜值、有气质的当红演员,一个是有实力、有能力的低调“理工男”,哪吒汽车和娜扎的携手,让不少朋友情不自禁地嗑起了CP,也开始更关注哪吒汽车的产品。 除了刚刚发布的“大气舒适新标杆”哪吒X,入手门槛低、颜值够高、智能体验远…

什么是KEIL的微库(microlib)?

就是下面这个选项: Microlib是什么 Microlib也是一个C语言的库。它是为了小内存的嵌入式系统设计的,用于代替标准C语言库,但是Microlib对标准C语言库进行了裁剪和优化,因此并不完全兼容标准C语言库。Microlib相比于标准库&#x…

前端伪进度条实现(仿antd message使用react组件静态方法)

文章目录 背景实现方法(一) react组件静态方法(二) 通过静态方法改变组件的状态(三) 指定进度条的步幅规则(四) 成功和失败的状态改变1. 成功2. 失败 (五) 组件消失(六) 背景遮罩 最终实现及代码组件代码模拟调用进度条组件的代码 可能遇到的问题静态方法调不到/报错组件渲染两…

23款奔驰GLC260L升级原厂 360全景影像 新款透明底盘

360全景影像影像系统提升行车时的便利,不管是新手或是老司机都将是一个不错的配置,无论是在倒车,挪车以及拐弯转角的时候都能及时关注车辆所处的环境状况,避免盲区事故发生,提升行车出入安全性。Xjh15863 360全景影像…

【超参数研究01】使用网格搜索优化超参数

一、说明 在神经网络训练中,超参数也是需要优化的,然而在超参数较多(大于3个)后,如果用穷举的,或是通过经验约摸实现就显得费时费力,无论如何,这是需要研究、规范、整合的要点&#…

漏洞复现--用友U8-Cloud upload.jsp任意文件上传

免责声明: 文章中涉及的漏洞均已修复,敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直…

分享一下怎么做多门店商城系统

随着互联网的快速发展,传统实体店面临着巨大的挑战。为了更好地适应市场变化,提高竞争力,多门店商城系统应运而生。这种新型的商业模式,旨在通过线上线下融合,实现门店之间的互联互通,提高运营效率&#xf…

云尘靶场-铁三域控

第一次 通过vpn链接 然后fscan扫描c段 扫描出来三个ip存活 并且141存在永恒之蓝 我们看看能不能直接复现 按照原本的设置发现 提示这里需要通过32位来进行 那我们开始设置 利用MS17-010渗透win7(32位)_利用ms17-010渗透win7(32位)-CSDN博客 https:…

外汇天眼:MT4白标与MT5,谁更适合如今的外汇市场?

2017年4月,外汇市场因迈达克的官宣闹得沸沸扬扬。 俄罗斯知名软件提供商迈达克(MetaQuotes)宣布停止出售旗下产品MT4的主标业务,意在淘汰MT4软件,转而主推MT5平台。 对于计划成为经纪商的人来说,是选择快速…

个人记账理财软件 Money Pro mac中文版软件介绍

Money Pro for mac是一款综合性高的理财工具,Money Pro是一套能够协同工作的工具,可用来追踪账户、管理账单以及制作预算,您可以为每个时间段设置不同的预算限值。财务一切尽在掌控之中。 Money Pro for mac软件介绍 Money Pro for mac提供一…

常见深度学习目标检测指标 AP mAP mAP@0.5 mAP@0.5:0.95 简短总结

目标检测指标计算 准确率 召回率 AP mAP 1.准确率与召回率 TP 真正例 将正类预测为正类数 FP 假正例 将负类预测为正类数 误检 TN 真负例 将负类预测为负类 FN 假负例 将正类预测为负类 漏检 2.AP 通常情况下 P与R成反比 因此为了更好的衡量模型 引入 AP mAP AP为…

学会场景提问,让AI“小助手”为我所用

文章目录 一、故事叙述提问举例 二、产品描述提问举例 三、报告撰写提问举例 四、邮件和信件撰写提问举例 五、新间稿和公告撰写提问举例 六、学术论文和专业文章撰写提问举例 我们知道AI技术不仅能够自动生成文章和内容,还可以根据我们的需求提供创意灵感和解决问题…

uni-app配置微信开发者工具

一、配置微信开发者工具路径 工具->设置->运行配置->小程序运行配置->微信开发者工具路径 二、微信开发者工具开启服务端口

OpenWRT软路由web界面如何远程访问?

文章目录 1.openWRT安装cpolar2.配置远程访问地址3.固定公网地址 简单几步实现在公网环境下远程访问openWRT web 管理界面,使用cpolar内网穿透创建安全隧道映射openWRT web 界面面板443端口,无需公网IP,无需设置路由器。 1.openWRT安装cpola…

buuctf[强网杯 2019]随便注 1(超详细,三种解法)

第一种解法 堆叠注入 网页环境判断是否是字符型注入1判断是否存在关键字过滤select联合查询被过滤,只能用堆叠注入了查看有几个字段1 order by 2#正常回显1 order by 3#回显报错,可以看出只有两个字段查看所有数据库1; show databases;查看所有数据表1;…

python,pandas ,openpyxl提取excel特定数据,合并单元格合并列,设置表格格式,设置字体颜色,

python,pandas ,openpyxl提取excel特定数据,合并单元格合并列,设置表格格式,设置字体颜色, 代码 import osimport numpy import pandas as pd import openpyxl from openpyxl.styles import Font from op…

数字音频工作站软件 Ableton Live 11 mac中文软件特点与功能

Ableton Live 11 mac是一款数字音频工作站软件,用于音乐制作、录音、混音和现场演出。它由Ableton公司开发,是一款极其流行的音乐制作软件之一。 Ableton Live 11 mac软件特点和功能 Comping功能:Live 11增加了Comping功能,允许用…

详解:飞讯是如何助力集团型制造企业实现数字化转型的

飞讯软件成立17年来,成功服务了上百家自动化装备及零部件制造企业,对这类企业的业务特点和痛点非常熟悉。在解决企业数字化转型挑战方面,我们拥有丰富的经验和技术平台优势。因此,于2022年我们与东莞一家大型自动化装备制造企业正…

Fuzz测试:自动化测试软件隐患和漏洞的秘密武器

0x01 什么是模糊测试 模糊测试(Fuzz Testing)是一种广泛用于软件安全和质量测试的自动化测试方法。它的基本思想是向输入参数或数据中注入随机、不规则或异常的数据,以检测目标程序或系统在处理不合法、不正常或边缘情况下的行为。模糊测试通…

Egg.js使用MySql数据库

最近在接手一个项目,vuenuxtegg,我也是刚开始学习egg.js,所以会将自己踩的坑都记录下来。 安装mysql 使用sequelize连接数据库,首先安装egg-sequelize和mysql2。 npm install --save egg-sequelize mysql2打开package.json文件…