jmeter的技术分享

一. JMeter介绍

Apache JMeter是Apache组织开发的基于Java的压力测试工具。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。

二. JMeter安装

1. 安装JDK

参考官网

2. 安装JMeter

直接访问官网下载编译好的版本。

解压(建议至/Applications 目录)后目录结构如下图:

添加环境变量

打开 ~/.bash_profile文件

添加以下指令:

export JMETER_HOME=/Applications/apache-jmeter-5.3/bin

export PATH=$JMETER_HOME:$PATH:.

执行source ~/.bash_profile使环境变量生效

执行jmeter -v出现下图内容则安装成功

三. 启动JMeter

执行jmeter,将启动JMeter,在终端会有如下输出:

在输出中提示不能使用图形界面进行负载测试,只能创建和调试测试计划,负载测试需要执行如下命令:

jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]

另外提示需要增加JVM的Heap配置去满足自己的测试需求。

在终端启动JMeter后会自动打开图形界面,如下图:

可操作菜单Options => Choose Language => Chinese 进行中文语言的切换:

四. 创建测试计划

点击文件=》新建,创建测试计划。

右键“测试计划”,选择“添加=》线程=》线程组”

3.设置线程数为“60”

右键“线程组”,选择“添加=》取样器=》http请求”

设置http请求的路径为http://localhost:8080

右键“线程组”,选择“添加=》断言=》响应断言”

设置响应代码为200

右键“线程组”,选择“添加=》监听器=》观察结果树”

点击顶部的执行按钮(绿色三角符),验证执行结果,在观察结果树可看到执行的记录

10.点击保存,测试计划创建完成

五、关联

在某些业务场景中b接口需要的内容是a接口返回的,对a接口设置正则表达式,提取想要的值,在b接口中引用。

使用关联首先在取样器下添加-后置处理器-正则表达式提取器

引用名称:即变量名称,调用方法与变量一致,即${引用名称}

正则表达式:根据上下文获取需要的数据,()内的数据即变量的数据,()左边两边是你取值的边界

模版:表示将解析到的第几个值赋予给引用名称,需要用$$引用起来

匹配数字:如果你的模版匹配到了多个值,0代表随机,1代表全部,如果你想使用匹配到的第一个值,即${引用变量_g1},第二个值即${引用变量_g2}

缺省值:如果没有匹配到的默认值。

六、参数化

1.添加配置元件-csv数据文件设置

2.参数化文件使用CSV文件,即逗号分隔值,

文件名:填写参数化配置文件绝对的地址

变量名称,即每一列数据的变量名

遇到文件结束符再次循环,http请求结束后继续执行下一组数据

七. 运行测试计划

执行命令 jmeter -n -t /Users/lufei/jmeter脚本目录/PC区域管理模块.jmx -l result.txt -e -o report

Test_plan.jmx:测试计划文件

result.txt:测试记录

report:测试报告保存目录

输出如下则执行成功

八. 看懂测试报告

进入至report目录,用浏览器打开index.html

中间Statistics部分是聚合报告,测试报告的主要指标集中在这一部分,下面是指标的详细说明:

Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值

Samples:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100

Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间

Median:中位数,也就是 50% 用户的响应时间

90% Line:90% 用户的响应时间

Min:最小响应时间

Max:最大响应时间

Error%:本次测试中出现错误的请求的数量/请求的总数

Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数

KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,492评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,048评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,927评论 0 358
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,293评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,309评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,024评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,638评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,546评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,073评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,188评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,321评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,998评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,678评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,186评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,303评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,663评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,330评论 2 358

推荐阅读更多精彩内容

  • JMeter主要组件介绍 1.测试计划(Test Plan)是使用 JMeter 进行测试的起点,它是其它 JMe...
    夏若至末阅读 2,326评论 0 4
  • 1、测试计划(Test Plan) 控件截图: 理解:包含一个测试的所有内容,包含所有的控件,属性,变量。所以一个...
    社会主义顶梁鹿阅读 1,151评论 0 4
  • 主要文体来自 CDNS:https://www.cnblogs.com/ceshisanren/p/5639895...
    Amano阅读 10,998评论 3 27
  • 1.性能测试 1.性能测试是什么 基于协议模拟用户发出请求,对服务器形成一定负载,来测试服务器的性能指标是否满足要...
    连猫都嫌弃我阅读 562评论 0 0
  • 1 Jmeter安装配置 使用Jmeter前首先要安装JDK,配置JDK环境变量。Jmeter不需要安装,下载后...
    茶小汐阅读 2,932评论 0 8