干G货,性能测试基本方法和原则,

 

一、性能测试关键点
  • 评估性能指标——线程tps(可架构给)
    吞吐量qps(可架构给)
    错误率(可架构给)
    平均响应时间(可架构给)
  • 模拟线上数据量
  • 了解接口有没有缓存,有缓存的需要设计
    每次调接口获取的是不一样的数据
二、如何评估需要测试的接口线程数?
  • 针对老项目:
    • 系统里查看过去一周(或者一个月)内,接口调用量最高的那一天,然后
      再找到当天中接口调用量最高的时间点(分钟级别),比如说是在12:10调
      用量为10000,那么我们再换算每秒调用量10000/60=166,因此可以确定
      这个接口tps只要达到166即可满足
  • 针对新项目:
    • 二八定律的算法为 80%的请求 / 20%的时间 * 冗余系数(冗余系数一般
      为2-5之间,一般可取3)如金融股票交易app,一般是早上9点到下午3点,
      76060=25200秒,注册用户1000万,日活差不多100w,80%=80w,
      80w/25200*3=95.接口吞吐量是95即可满足
三、压测实际操作

当确定吞吐量指标,根据指标去压对应的接口:
1、压测设置参数:添加线程组,线程数=用户数/10;ramp-up period多少秒内启动所有线程,默认一般是1秒,0就是立即全部启动;循环次数一般写永远,压测个10-30分钟,看报告

2、聚合报告:Samples发出的请求数、Average单个Request的平均响应时间(ms)、error错误率、Throughput简称tps,吞吐量,每秒处理的请求数。

3、写接口,如果多个接口添加正则表达式,上下接口串联

4、关联数据库,cmd运行: jmeter logFile -o reportPath得到报告

性能测试指标对应压测方法:
吞吐量的预估值=考虑用什么方法去进行压测

  • 500以下 JM 注:接口吞吐指标在500以下,JM就能满足
  • 500-5000 JM分布式或者LR
  • 5000以上 中控+多机部署
  • JM分布式:JM上配置参数接口,jenkins配置多台服务器,一台控制机,多台负载机,控制机的密钥加到负载机中;
  • JM+Grafana+Influxdb监控性能参数,内存,cpu占用情况,接口吞吐量
  • Linux系统
  • 内存
  • 换页swap空间
 
  1. free -m | sed -n '2p' | awk '{print "used mem is "$3"M,total mem is "$2"M,

  2. used percent is "$3/$2*100"%"}'

四、接口的性能瓶颈怎么查看?

随着tps越来越高,如何评估接口性能qps指标:

  • 软硬件的资源利用情况会越来越高,直到满负载(内存,cpu占用情况)
  • 吞吐量会不断变高,直到达到峰值,下降或企稳
  • 响应时间会慢慢变高,超过吞吐量峰值,响应时间曲线会急剧拉升(因
    硬件资源满负载,软件接口无法处理超+ 高并发,接口处理速度最后会急剧变慢)

所以:性能指标是吞吐量最高的那个值,响应时间缓慢拉升到急剧拉升的拐点,硬件
           资源最大,这三者的坐标区域中间,就是性能峰值

五、怎么做性能优化?

1、最简单的加线程,进程

2、数据库层面,加索引,加缓存,一些机算上的结果缓存,
      表数据太多,分表,sql优化

3、在有IO(网络IO,磁盘IO)的时候,批量读,写,合并
      网络请求,减少与单点的交互

4、代码更高效的实现,改运算逻辑,如本来以账户维度计
      算金额,改成以产品维度去计算

 

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TypeScript写好了,怎么运行啊!!!

环境搭建 Vs code Ctrlshiftp打开首选项—》打开工作区设置—》搜索Typescript 推荐开启的配置项主要是这几个: Function Like Return Types,显示推导得到的函数返回值类型;Parameter Names,显示函数入参的名称;Par…

双层循环和循环控制语句的使用,while和until的语法使用

双层循环和循环控制语句的使用,while和until的语法使用 exit echo 打印 -n 表示不换行输出 -e 输出转译字符 \b:相当于退格键(backspace) \n:换行,相当于回车 \f:换行,换行后的…

一文了解Java 中的String、StringBuffer 与StringBuilder

String结构剖析 String是final 类,不能被其他的类继承 String有属性private final char vaLue[]; 用于存放字符串内容 注意: value 是个final类型, 不可以修改: 即value不能指向新的地址,但是单个字符内容是可以变化 两种创建String对象的区…

免费无版权可商用资源|自媒体创业者、设计师、电商商家必备

1.前言 小伙伴们大家好,欢迎来到天夏Ai,这里专注于分享人工智能精品资源:Ai副业项目、Ai效率神器!和你一起共享Ai信息,分享Ai副业项目资源,开启智能副业赚钱新时代! 今天为大家分享免费无版权可…

3ds MAX 2024版资源包下载分享 3ds Max三维建模软件资源包下载安装

3DSMAX凭借其强大的功能和广泛的应用领域,吸引了无数创作者的青睐。 在游戏制作领域,3DSMAX展现出了无可比拟的优势。从细腻的角色建模到宏大的场景搭建,再到逼真的动画效果和渲染,它都能轻松应对,为游戏世界注入了生动…

代发考生战报:HCIP H12-725安全变题了

代发考生战报:HCIP H12-725安全变题了,幸好当天找客服办理的包过服务,听同考场的考生说,考试全是新题,只有1-2个是题库上的题,自己考的都考挂了,帮我答题的老师很厉害,很赞&#xff…

香橙派AIPro开机测试

资料准备: 香橙派官网资料下载链接:http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-AIpro.html 硬件准备 香橙派ai pro一个 32G sd卡,带出厂镜像 电源 鼠标 键盘 hdmi显示屏 测试介绍 由…

React@16.x(32)useDebugValue

目录 1&#xff0c;介绍2&#xff0c;作用 1&#xff0c;介绍 从一个例子开始&#xff1a; export default function App() {const [n, setN] useState(0);const refH1 useRef();useEffect(() > {console.log("父组件");});return <h1 ref{refH1}>{n}&l…

网络安全 - DNS劫持原理 + 实验

DNS 劫持 什么是 DNS 为什么需要 DNS D N S \color{cyan}{DNS} DNS&#xff08;Domain Name System&#xff09;即域名系统。我们常说的 DNS 是域名解析协议。 DNS 协议提供域名到 IP 地址之间的解析服务。计算机既可以被赋予 IP 地址&#xff0c;也可以被赋予主机名和域名。用…

洗地机怎么看好不好?四大尤为热门的精品闭眼入

对于家庭来说&#xff0c;每天的生活垃圾清洁俨然是一个繁琐的家务活&#xff0c;尤其是面对不同的地面清洁复杂难度高的垃圾时&#xff0c;不仅清洁效果不佳还废体力&#xff0c;而洗地机的出现&#xff0c;可以为用户提供全能、高效、便捷、愉悦的清洁体验&#xff0c;为我们…

.NET MAUI Sqlite数据库操作(一)

一、安装 NuGet 包 安装 sqlite-net-pcl 安装 SQLitePCLRawEx.bundle_green 二、配置数据库&#xff08;数据库文件名和路径&#xff09; namespace TodoSQLite; public static class Constants {public const string DatabaseFilename "TodoSQLite.db3";//数据库…

周跳的探测及修复

前言&#xff1a; 本章节代码均在Gitee中开源&#xff1a; 导航工程: 导航工程及其有关的所有项目 - Gitee.comhttps://gitee.com/Ehundred/navigation-engineering/tree/master/%E5%8D%AB%E6%98%9F%E5%AF%BC%E8%88%AA%E5%8E%9F%E7%90%86/%E5%91%A8%E8%B7%B3%E6%8E%A2%E6%B5%…

生成式人工智能 - 本地windows 11 + PyCharm运行stable diffusion流程简述

一、环境说明 硬件:本地电脑windows11、32.0 GB内存、2060的6G的卡。 软件:本地有一个python环境,主要是torch 2.2.2+cu118 二、准备工作 1、下载模型 https://huggingface.co/CompVishttps://huggingface.co/CompVis 进入上面的网址,我这里下载的是这个里面的 …

【C++11】常见的c++11新特性(一)

文章目录 1. C11 简介2. 常见的c11特性3.统一的列表初始化3.1initializer_list 4. decltype与auto4.1decltype与auto的区别 5.nullptr6.右值引用和移动语义6.1左值和右值6.1.1左值的特点6.1.2右值的特点6.1.3右值的进一步分类 6.2左值引用和右值引用以及区别6.2.1左值引用6.2.2…

2024年【电工(高级)】考试内容及电工(高级)考试试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 电工&#xff08;高级&#xff09;考试内容考前必练&#xff01;安全生产模拟考试一点通每个月更新电工&#xff08;高级&#xff09;考试试题题目及答案&#xff01;多做几遍&#xff0c;其实通过电工&#xff08;高…

【CTF Web】CTFShow 探针泄露 Writeup(PHP+探针泄露+信息收集)

探针泄露 10 对于测试用的探针&#xff0c;使用完毕后要及时删除&#xff0c;可能会造成信息泄露 解法 查看网页源代码。 view-source:https://11170dfe-84c7-4fde-b1ca-5d1ec3dd7570.challenge.ctf.show/没有找到有用的信息。 用 dirsearch 扫描。 dirsearch -u https://1…

图片的大小如何改变?有效率改图片大小的方法

图片怎么将改变图片大小呢&#xff1f;现在经常在使用图片的时候需要先按照上传平台的要求来修改尺寸和大小&#xff0c;将图片调整到满足使用的大小之后然后上传使用。那么如何在线改变图片大小呢&#xff0c;有一个很简单的方法能够快速在线改图片大小&#xff0c;今天小编将…

记录第一次edusrc挖掘

文章目录 一、前言二、漏洞说明截止目前已修复 一、前言 edusrc平台介绍 我们可以在关于页面看到edusrc的收录规则 现阶段&#xff0c;教育行业漏洞报告平台接收如下类别单位漏洞&#xff1a; 教育部 各省、自治区教育厅、直辖市教委、各级教育局 学校 教育相关软件 可以看到…

Flutter- AutomaticKeepAliveClientMixin 实现Widget保持活跃状态

前言 在 Flutter 中&#xff0c;AutomaticKeepAliveClientMixin 是一个 mixin&#xff0c;用于给 State 类添加能力&#xff0c;使得当它的内容滚动出屏幕时仍能保持其状态&#xff0c;这对于 TabBarView 或者滚动列表中使用 PageView 时非常有用&#xff0c;因为这些情况下你…