性能测试最怕的就是测试的时候测半天啥问题都没发现,结果一上线就崩了,用户投诉不断,领导还追责,真的白忙活一场, 是不是都踩过这坑?所以针对于性能测试,要有一个非常规范的性能测试思路,才能够确保真正的性能无忧。首先得把性能需求理清楚, 逻辑要明明白白,不然方向错了全白费。然后选对工具用法,用 g meter 的 话,一定要搞分布式压测,这样才能达到实际需要的压测规模,不然单机压测根本测不出真实性能。还有多县城压测这一块千万别瞎用,稍微配置不当,压测就偏离实际场景,结果完全不准, 等于白测。这些坑我之前全踩过,后来整理了一份 g m t。 规范压测手册,把需求梳理、分布式配置、多县城避坑这些点全拆透了。想要这份手册的评论区,扣 g m t 手册我直接发你,关注我,后面还会分享更多性能测试提效干货,帮你少踩坑!
粉丝1969获赞1.6万

jamita 下载完毕之后呢,一启动爆了这样一个错误,造成这个错误的原因呢是我们所下载的 jamita 的资源包呢不正确,你可能下载的是二所指向的 s r c 点儿 jeep 这个资源包, 那我们呢把本地的这个资源包呢删掉,然后呢我们下载五点,五点这盆这个资源包,然后呢给他进行解压,然后再启动这米特,这时候呢我们发现这米特可以正常使用了。

今天咱们说个软件测试超实用的工具, g meter 接口性能测试都能搞定,能省不少事。我把它分为四个核心步骤,首先是搞基础,得知到 g meter 是 干嘛的, 安装要先装加瓦环境下包解压启动,再熟悉主界面功能区,这是干活的底子。然后是基本操作,先明白接口是啥,再学会发 get post 请求。这俩会了基础,接口调试就上手了。常用场景也得会,比如用户定义变量,还有断言验证代码, 接口关联能提取登录托肯用在后续接口,数据驱动用 c s v 文件批量测,省重复活。最后是生成测试报告,准备好测试计划和数据,用命令行跑测试就能生成 windows 的 命令格式,也会讲清楚 针对这四个阶段的学习重点。这份文档包含了从入门到进阶的全流程干货,把这 meter 的 操作细节与实战技能都拆解的清晰明了,把这些核心内容摸透,测试效率能提一大截。

g m meter 作为软件测试、接口加性能测试双场景的核心工具,其学习路径可精准对应四个实操进阶阶段。首先是工具的安装部署与主界面认知, 搞定 g m meter 的 安装步骤,熟悉工作区,先把基础操作的逻辑框架磨透。其次是 g m meter 基础功能落地, 同步理解接口性能测试的核心原理,比如线程组的配置、 h t t p 请求组建的使用, 把怎么发请求怎么控并发这些基础技能练熟。高阶技能则聚焦实战场景刚需,像环境变量与参数化配置、多接口间的关联响应、断言的灵活适配, 这些都是解决实际测试问题的关键。而最高阶的应用是将 g meter 升级为高效的自动化测试方案,包括脚本的优化调优、分布式压测的搭建,以及定制化测试报告的生成,实现从能测到测好的跨越。 针对这四个阶段的学习重点,我已整理出一份贴合实操的 j m t 学习文档,覆盖从入门到进阶的全流程干货。

性能测试 gm 入门到精通第二集,呃,大家好,我是土匪啊,那么上节课给大家讲了这一个,什么是性能,什么是性能测试,那么这节课我们继续往下来看啊,那么我们了解完什么是性能,什么是性能测试之后啊,接下来我们来了解一下啊,常见的一些性能测试指标啊。 那么常见的性能指测试指标呢?呃,一般有以下几点啊?第一个是响应时间啊,这是一个最常规啊,用的最多的一个指标,是用来衡量系统的这一个处理效率的啊。 然后第二个呢,是像 t p s, r p s, q p s h p s 这些啊,大家可能经常会见到和接触到的,但是又分不太清楚的一些啊,和吞吐量有关的指标。然后第三个呢,是我们日常这一个用户数据相关的啊, p v 和 u v 啊,那么我们首先来看第一个响应时间, 那么对于响应时间这个指标来讲呢啊,定义非常简单啊,就是从你开始发送请求,从你发送请求开始啊,到你接收到啊,或者接收完服务器响应的一个时间啊,这里我用了两种描述,一种叫接收到服务器的响应,一种叫接收完的服务器的响应啊,那么 呃,很多人呢,做性能测试的时候,他不了解这个过程啊,什么叫接收到服务器响应呢?这里就会涉及到一点啊,以 http 啊,这一个协议为例啊, http 呢,他在这一个建立的,他的一个通信过程中啊,他其实是分为五个步骤的啊,连接的建立,然后连接的这个数据的传递,然后这一个 啊状态的响应回复吧,然后接下来是这一个数据的接收,最后是可乐子啊,反正是有五个这样的一个过程,五个这样的一个过程啊,那么对于我们来讲呢,其实这个过程中间 的过程我们并不是特别关心,我们只关心什么呢?哦,我开始发送请求, ok, 这个是需要去计时的,那这个计时谁去做呢啊?是由我们的性能测试工具去做的啊,然后啊拿到响应,拿到响应啊,那么在这个过程中呢,拿到响应,这里业界是有两种不同的一种 啊统计口径的啊,一种呢是把所有服务器响应的内容全部接受完毕的啊,啊,这个是一种。另外一种呢,就是我认为呢,这个从拿到服务器的响应的第一个字节,这一个时间啊,他更 能将更能够更加精确的去表述或说去描述服务器处理这个请求的时间,因为我拿到第一个响应字节,然后再把所有的数据接收完毕的这个时间啊,这个时间呢,一般我们管它叫 receive 的时间,它是和我们的这个客户端啊,和服务器的这个带框 是直接相关的啊,和这个内容的大小直接相关的,你内容越多,接受的时间越多,你的带框啊越差啊,那么接受的时间越多,那么这一部分的时间呢,往往和服务器本身和我们测试的对象这个系统啊,我们的软件是没有什么太大的关系的,或者说是完全没有关系的啊, 所以呢,在这里会有两种不同的一种啊统计方式啊,这个大家弄清楚一下。那么对于响应时间来讲呢,其实在概念上弄清啊,了解之后,我们在脑海里面啊,是需要有一个这样的过程去想一下的啊,去想一个东西,这是我们平时 啊请求发送了,对吧?从发送开始,从发送开始啊,到这个结束,这个时间的计量啊,首先是有工具做的,对不对啊?他我们管他叫请求的结束时间,减去请求的一个开始时间, 是啊,一个相对啊共就相对比较准确的一个值,但是呢这段时间包含哪些内容呢?第一个啊,连接的建立时间,这个连接建立呢啊,他会包括客户端 啊,受到客户闹的一个性能的影响,然后呢啊他会受到网络状态的一个影响,然后连接建立之后啊,连接建立的过程中他可能还需要做 dns 的解析,对吧?比如说呢要做啊,如果像 ssl 协议的话,他还会涉及到啊 ssl 隧道的一个建立,就是这个通信建立啊验证权限的一个过程, 如果涉及到像 f t p 这样的,它会有一个 f t p 的权限认证,诸如此类的啊,这个都是会放在这个连接建立的一个过程里面的连接建立的过程啊,然后呢接下来就是数据的发送这一部分的时间呢,收到客户端和服务器之间的网络的影响,但是呢基本上时间是很小的,因为我们日常 作为测试来讲,除了像上传文件这种特别的啊这种业务啊,其他业务我们客户端向服务器发送的数据都是比较小比较小的啊,耗费的时间是比较少的。 然后第三个呢啊,到了服务器端,这个时候大家可能就得弄清楚啊,因为在服务器端可能会有很多不同的架构,比如说啊,有这个 word 服务器,或者叫前端服务器,对吧?像有些公司用 ngx, 有些公司呢直接用 tomcat, 有的用 httpd 啊,诸如此类的都会有。 然后接下来到了这个 word 服务器这里呢,他向后他可能会有网关服务器,对吧? g w 啊,网关这里呢?再往后一般就到了应用节点应用服务器了,应用服务器这里呢? 呃,其实在网关和应用服务器中间可能还会有像消息对列啊啊,像缓存缓存啊, redis 数据库啊这种啊,然后最后呢就到数据库 这个具体啊,具体的东西呢,每个公司啊,每个业务,每个系统都是不一样的,这里呢?啊,作为一个性能测试工程师来讲啊,我们是需要去了解这一块过程啊,你不能说啊,相应时间我看到是五秒就是五秒 啊,如果只是做到这个层次啊,你没有办法去做后续的这种分析定位,你得在脑海里面,你得弄清楚啊,响应世界会有哪些部分构成,将来万一出了问题,对吧?万一性能不达标,我们知道啊,应该从哪些方向去进行左手去分析,去找到问题所在啊, 就是响应时间的一个基本的概念,然后接下来呢叫 t t b f f b 啊,这个词大家在很多工具或者在很多报告里面都会看到啊,他叫 time to first buff 啊,这就是我刚才说的啊,响应时间呢,有一种统计方式,就是从我们请求发送开始到接收到服务器的响应的第一个字节,所以叫 time to first buff 啊,第一个字节的一个时间,第一个时间啊,然后过程,这里刚才已经给大家做了一个简单的解析啊,这里大家可以看一下,然后最后呢,在响应时间这里呢,我们还会在日常统计过程中啊,会有两个非常重要的词,一个叫啊 啊 r t, 或者叫 a v g, a v g 啊,我们日常可能会叫平均值,或者叫平均响应时间啊,这个简称呢? response 啊, response time, 简称 r t。 然后第二个呢叫 pct 啊,叫 pct, 叫 pensant pensant 啊, pensant, 百分比的一个时间,百分比时间啊,那么这两个东西呢,它有不同的应用场景啊,日常中啊, 平均响应时间这个东西呢啊,从统计学的角度是没有任何问题的,但是对于性能来讲啊,我们单纯的看平均响应时间,很多时候可能是不够的,尤其 是啊,那我怎么老师我怎么去判断这个平均详细时间?他是可用还是不可用啊?可信还是不可信呢?我们可能就会要用到数学上的一个知识,叫做标准方差, 标准方差啊,那么标准方差越小,平均值的可信度就越高,因为标准方差它是用来反映数据的一个离散程度的,这个离散就是相对于平均值来的啊,相对于平均值, 所以如果方差越大,那就表示那这一个数据的离散程度就越大啊,越大的话呢,这个平均值就没有意义,就好比我们在座的同学啊,随便拿几个人和我组个队,我们九个人,再加上马云十个人,对吧,我们这十个人,我们的平均资产可能是啊,上百亿 啊,上百亿啊,但事实上这个我和你有没有上百亿的资产呢?并没有,对不对?那此时此刻呢,你去看这一个标准方差,那就是啊,我们的零减去这个平均值括号平方之后再求和啊,就是 那个公式,大家可以自己去百度一下,我这就不给他去罗列了啊,那么最后算出来,只估计啊上百万,上上亿都有可能,我算一下应该是上百万、几百万的啊,将近是三四百万的一个 方差值,而我们这一个平均值,对吧?平均值才一百万,那这个一除一笔啊,就大于一了,大于一的话,这个标准啊,这个平均值的可信度就 很低了啊。那么在这种情况下,在这种情况下,为了更好的去衡量我们被测系统它的性能啊,从详细时间来讲,这个详细时间这个指标是否能够达标,我们就会引入另一种叫派森特 啊耐,或者叫 p c t 的一种时间。它的做法很简单啊,就是把所有的相应时间从小到大去进行排序,排序啊,排序完之后呢啊,取百分之九十,百分之八十啊,你指定的一个百分比 的一个区间,然后呢他就会获取到一个响应时间的值,那就表示,比如说百分之九十,那他就拍成的百分之九十啊,拍成的九十,他就表示什么呢?表示我们所有的数据里面,百分之九十的数据是小于等于 p c t 九十,然后剩下的百分之十的数据是大于等于 pct 九十的,就类似于一个这样的概念啊,那么像我们刚才说的马云和我们,对吧,百分之九十的人啊,他的资产可能也就是个零或者是个几万块钱,是吧?百分之十呢?可能是啊,几千个亿。 好,那从这里我们就知道这个平均值已经没有任何可信度了,那么性能也是一样的啊,我们很多时候并不能够通过平均响应时间去碰到啊,我们的系统的性能是好或者是坏啊,那老师,那这样这样的话平均值就没有意义啊,这个必须得说啊,平均值他的获取统 是一个比较简单啊,对于大家来讲呢,也是比较能够认可或者比较啊,了解的比较清楚的啊,怎么得出来的一个值?所以我们是一般是初步先用平均值,然后啊,当你发现平均值不可用的时候,我们才考虑去用 p、 c、 t 来作为这一个相应时间的一个 这一个指标啊,碰到依据吧,或者说一个维度,好吧,好了,那么这就是我们日常啊,对于响应时间在性能领域的一些基本的概念啊,就给大家解释到这里啊,谢谢大家。

来吧,继续解锁解密器一个核心功能点,成为企业级软件进行的输入专家。我们继续看 h t p 的 请求书,讲太细了, 如果我当初学习解密器的时候,有人推荐给我这本书就太好了,当时纯粹是摸着石头过河啊。那现在就详细讲解这个解密器每一个 h t p 请求里边的每一个选项,比如 server name or um ip 一 号,那我们和服务器请求的时候, web 服务器主机或支持域名或者是 ip 地址就在这儿, 然后 port number, web 服务器监听的端口 h 默认是八十, hbs 是 四三三四四三,默认端口可以省略 vivo 端口必须填啊,就这里,要不你请求会失败的啊。然后 hb 组成有以下几个,有 method, method 请求方法可以填写或者选择填写是为了方便请求方法参数化或支持指定的方式。就这这 method 的 啊,还可以填写吗?现在我感觉都是只能你看这里有多少方法啊,多少方法。 search 常用的就 put, delete, get post 啊,然后是 pass, 就 这个 pass, pass 就是 我们当开发做了那个 api, 它会写一个呃文档,那它的 pass 如何写?就在这,我们要写清楚, 就是一般填写 url 可以 有相对地址,一般称为 pass。 绝对地址就是一般指 ho。 注意,填写绝对地址时,则覆盖就它会覆盖 web server 选项组合成相应配置信息哈。 encoding, 这一般都写相对地址哈,它俩组合起来成那个主。绝对地址,只要我用的时候,只要我做,我做企业级软件测试的时候大部分都是相对地址,我们做自己测试的时候可能写一个绝对地址, 练习玩的时候,但企业级的软件一般都是相对递质啊。 so content, including, 对 于 post, post, patch 等方法,请求只要进行编码设置。为什么?就是说你往服务器里写东西的时候,你写中文和写一般都要定一个 u t f 八什么统一的,要么你拿出来,有时候可能是乱码统一对不对?那下面这些选项就是 redirect, automatically follow redirect, keep, use, keep live 等等。 use multiple form data, browse compiling header 这些 就是说指定是否启动重定义服务,就是说这一些 是否指定,比如 follow in redirect 用于指定是否开启跟踪重定向, use keep live 用于指定是否使用 control, keep live 头等等。这些大家看都是说你, 你碰到就是说看你自己是一般有默认的啊,我好像在具体测试是没怎么改变这,但是有的特定的应用是需要改定改的哈,大家就是说了解这块,我们可以设置这些扔于指定是否起用浏览器兼容头部等等哈。然后下边就是参数, pyrameter, body body data 和 file upload 一 般都会用这两种,或者是文件上传,我们看看它有文件上传,你看文件上传案例哈,你看一下啊, 它这个就是 parameter 方式哈,你看也有 parameter 方式和 file upload 的, 并并用它上传一个什么 top 拼呃,那个 topic 图片,然后 parameter 方式,这就是你用 post 的 时候,你往里写的时候,然后这些参数是什么哈, 比如你用 parameter 选项卡用于设定参数,我不知道,现在大家看看就如果你真的没有做过解密特测试,你能不能理解这个哈,你需要实际做一个, 呃,做一个请求,比如我这个请求,它是用排空气儿方式,一般用 body 方式,就刚才那种方式 h m r, 然后它可以上传 file, name 就是 参数的名字,就是参数名字的值,然后 you are including 是 这个,就是后最后这个参数哈, you are l can 呃,在这儿啊, u r u r l encoding 和 content type 就是 用于指定是否对参数名与参数值进行 u r 编码 啊,判断为啊,未没有名称的参数之间, content type 默认为 textplant, 仅对请求体方法有效哈,这个会在头里有可能设置,但是你如果我们在这里设置了它可能就仅对这个请求体有作用,知道吧。 然后后面应该还有啊, including 看一下啊, including equal 就是 用于指定对值为空的参数是否显示符号为这个等号。例如给值为空值时候设什么 gender, 若勾选上这个负弦框,请求入这些 g, gender 等于什么等于什么?否则就是 gender, 就是你反你发请求的时候,带这个参数的时候,大概是这样,就整个 http 里边参数大概解释它,下一页可能还会解释 file 这个 upload 的 模式就是说大。 呃,大家可能记不住,就是你看,哎呀,这啥乱七八糟我都不懂,那等你真正去做的时候你就发现哦,我这每一个解释对我真的好有用啊。有一个概念性的理解好, 还是请大家关注我们这个 jmeter 性能测试与脚本实战这个视频,也可以购买这个数据自己去加快学习。然后也可以开始, 当你对脚本编编程能力有进提高之后你就可以开始学习企业级的软件性能,是框架课程了。框架加脚本,我们支撑你年薪五十万是没有问题的啊,这是实践证明过的。好,那我们明天继续。