京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o mqtt插件支持...

36
京东智联云性能测试帮助文档 产品简介 o 产品概述 o 产品功能 发压引擎和发压资源 执行方式 测试结果的查看分析 系统监控和日志采样 o 应用场景 产品定价 o 计费规则 快速入门 o 示例脚本 o 执行压测 o 压测结果 o 被测系统监控 o 跟踪日志 操作指南 o 脚本构造 上传 JMeter 构造的脚本 o 运行脚本 执行脚本 发压模式 运行时参数 o 压测结果分析 结果数据分析 错误日志 跟踪日志 结果对比 被测系统监控情况 压测引擎监控情况 o 定时任务 页面构造定时任务 我的定时任务 o 高失败率告警及邮件发送处理 运行中无效测试的发现/告警 o 插件管理 o o HTTP2 插件支持

Upload: others

Post on 11-Aug-2020

20 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

京东智联云性能测试帮助文档

产品简介

o 产品概述

o 产品功能

发压引擎和发压资源

执行方式

测试结果的查看分析

系统监控和日志采样

o 应用场景

产品定价

o 计费规则

快速入门

o 示例脚本

o 执行压测

o 压测结果

o 被测系统监控

o 跟踪日志

操作指南

o 脚本构造

上传 JMeter构造的脚本

o 运行脚本

执行脚本

发压模式

运行时参数

o 压测结果分析

结果数据分析

错误日志

跟踪日志

结果对比

被测系统监控情况

压测引擎监控情况

o 定时任务

页面构造定时任务

我的定时任务

o 高失败率告警及邮件发送处理

运行中无效测试的发现/告警

o 插件管理

o

o HTTP2插件支持

Page 2: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

构造 http2采样器

o MQTT插件支持

构造 MQTT采样器

产品简介

产品概述

京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

速实施多种类型的性能测试,可通过模拟海量用户的真实业务场景来帮助用户迅速、准确

的评估系统性能、容量和稳定性。

产品功能

京东智联云性能测试服务基于 JMeter进行二次开发,支持 JMeter原生和扩展支持的所有

协议,提供普通固定并发数发压、梯度增长发压和测试过程中增减并发数的动态调压三种

发压模式,

测试过程中提供友好的图表实时、秒级展示各项性能指标,结合对被测目标和发压服务器

的资源监控,极大的简化了测试执行和性能瓶颈定位过程,同时可以通过错误日志及

JMeter日志下载

来快速、实时的定位失败请求的原因;提供区间统计来获取任意时间段的稳定性能测试数

据,提供测试结果导出和多次测试结果一键对比的功能。

发压引擎和发压资源

发压引擎

基于 JMeter的二次开发,支持 JMeter原生控件的参数配置:如线程数(Threads)、准

备时长(Ramp-up)、延时、持续时间等。

支持多种协议

支持 JMeter内建和拓展支持的所有协议,如 HTTP、HTTPS、JMS、Java、HTTP2、MQTT、

TCP等协议。

发压资源

发压机器基于强大的京东云主机资源,可按需弹性配置,分布式发压集群秒级启动。

Page 3: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

发压脚本

平台支持上传 JMeter脚本和在线创建脚本两种方式,灵活的运行控制逻辑和参数化处

理。

发压方式

支持按并发数发压,也可指定目标 QPS控制发压请求量。

执行方式

手动执行

根据需要可手动调整并发量、准备时长、持续时间等参数,自定义变量配置,手动发起压

力测试

定时执行

可个性化配置定时任务发起压测任务,邮件即时通知。

发压模式

普通稳定发压、梯度增长发压和动态调压

测试结果的查看分析

测试过程中和结束后均可查看测试详情,主要包括性能数据、被测系统监控数据和发压系

统监控数据、采样器日志和 JMeter日志。

压测结果分析

测试结果

实时流式聚合计算压测结果,秒级间隔动态刷新性能数据,用户可查看各指标变化趋势,

测试完成后生成历史压测报告。

结果分析

包含吞吐量、响应时间、成功率、实时采样数量、并发数、响应体大小等各项指标。

详情分析

Page 4: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

分类计算各采样器结果指标及样本数、最大(最小、平均)相应时间、平均响应体大小、

TP90、TP95、TP99、方差等各项指标。

结果对比

用户可选择多次执行记录后生成各结果项的变化趋势图及详情数据报表,帮助用户分析被

测系统性能变化趋势。

系统监控和日志采样

被测服务监控

若被监控目标在京东云上,压测服务集成了云监控的数据,主要包括内存、cpu、硬盘、

网络指标。

发压引擎监控

发压机健康度实时显示如 CPU、内存、网络、磁盘。

采样器日志

提供发压采样器的执行跟踪和错误日志分析,包括请求参数、响应内容,可准确定位问

题。

JMeter 日志

测试过程中和测试结束后,可随时下载 JMeter日志,协助定位问题。

应用场景

1. 使用京东智联云性能测试产品,可无代价增加如下验证场景:接口/组件级并发测

试,端到端用户场景模拟测试,系统负载容量测试,稳定性疲劳测试(long run),

资源消耗评测,瓶颈定位等

2. 系统交付前的性能验收测试、机房运维、异常切换演练中的系统稳定性、可行性评

测;辅助用户上云前后的性能、稳定性评测

Page 5: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

产品定价

计费规则

本产品暂时免费

快速入门

示例脚本

为方便快速体验,我们给用户准备了一个简单的示例脚本 (对应被测目标也已准备

好)。可跳过准备脚本这一步,直接运行示例脚本。

Page 6: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

示例脚本将发压机自身作为被测目标,并发访问其上的 web 服务器静态资源,同时监控

展示发压机的资源使用(注意:被测系统监控需要用户选择相关的云主机,对于示例脚

本的执行并不适用)

执行压测

说明:

执行页面详细参数说明请查看“运行脚本”页面说明

压测结果

Page 7: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

被测系统监控

跟踪日志

Page 8: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

操作指南

脚本构造

上传 JMeter构造的脚本

本地 JMeter 构造脚本

本地下载安装 JMeter,通过 JMeter编写和调试自己的脚本。 (请使用最近的 JMeter

5.0版本,避免脚本版本不兼容带来的问题。安装使用很简单,网上有大量的教程可参

考)

脚本配置说明:

1. 添加线程组

Page 9: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

参数说明:

a) Num of threads:线程数,相当于虚拟用户数

b) Ramp up period:首次启动所有线程所需的总时间

c) Loop count:循环次数

2. 添加 HTTP请求

Page 10: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快
Page 11: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

参数说明:

a) Name:请求名称

b) Server name or ip:被测服务域名或 IP

c) Path:请求服务路径

d) Port numumber:端口号

e) Protocol:协议类型

3. 添加监听器

Page 12: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

以上就完成了一个简单的 JMeter脚本构造,调试通过后,保存生成的 .jmx 文件后上传

到到平台即可。

上传构造好的 JMeter 脚本

1. 添加脚本

Page 13: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

2. 选取脚本文件

参数说明:

a) 任务名称: 测试(脚本)名称

c) 脚本文件:上传对应脚本文件(jmx 文件、测试需要的其他 CSV文件等请

一并上传(支持 10M 以内的文件上传 ))

3. 上传成功后在脚本列表中会显示对应脚本信息

参数&操作说明:

a) 测试名称:脚本名称

b) 创建时间:脚本创建时间

c) 更新时间:脚本最近一次执行时间

Page 14: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

d) 最新执行状态:脚本最近一次执行状态

e)执行:执行当前脚本

f)执行历史:查看已执行的历史记录

g)更多-更新脚本:对已经创建的脚本可以重新上传脚本文件

h)更多-下载脚本:下载已上传脚本,若上传文件是单个 jmx文件则直

接下载此文件,若上传为多个文件,下载为 ZIP 压缩包

i)更多-删除脚本:删除脚本

j) 更多-创建定时:针对该脚本创建一个定时任务

在线创建脚本

参数说明:

a) 测试名称:测试名称

b) 采样器名称:一次请求的名称

c) 采样器执行时间间隔(选填): 两次请求之间的延迟时间(单位:ms)

Page 15: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

d) 方法:GET/POST

e) 域名: www.demo.com (被测服务域名或 IP)

f) 端口(选填):服务端口(80)

g) 路径(选填):请求路径

h) BODY(form-data/raw) (选填):对应接口参数

操作说明:

a) 添加:添加采样器,可以创建多个采样器

b) 删除:删除采样器

c) 测试 :调试采样器配置的请求

d) 保存:填写完成后保存该单个采样器的编辑

注意:

需要在创建之前点击右上角按钮做测试,通过后才可以创建成功。

运行脚本

执行脚本

入口:“测试脚本”→"执行"

Page 16: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

参数&操作说明:

a) 发压模式:普通发压、梯度发压和动态调压

b) 用户数:并发用户数量(并发线程数)

c) 持续时间(单位:分钟):在指定时间内循环执行脚本(也可按脚本指定时长

或次数执行)普通发压模式下指从发压开始到结束的总时长;

梯度发压模式下为所有用户(并发)数启动之后的持续时长

d) 梯度:在准备时长内,分多少梯度能到达设置目标用户数

e) 采样间隔:性能数据统计采样间隔,建议发压时间越长间隔设置越大

f) 预设 QPS(次/秒):设置期望的每秒发压请求数量

Page 17: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

g) 准备时长(单位:秒):多长时间启动设置的所有用户(并发)数;注意在梯度

发压模式下,此时长为用户(并发)数梯度增长的时间段,建议设置长一些

h) 监控:是否设置被测目标监控

i)区域/IP : 根据实例名称、id、IP地址等信息选择希望监控的目标主机,可

以选多个,但只能添加自己账号下购买的云主机

注:QPS发压下,系统会调整发压强度,尽力匹配指定的 QPS目标值。但是受测试脚本和

被测目标响应能力的影响,实际测试中有可能达不到指定的目标值。

另外,如果指定的测试持续时间过短,系统也可能在尝试逼近 QPS目标值的过程中,由于

运行时间到达而结束整个测试。

发压模式

1、普通发压:在发压过程中,目标用户(并发)数不能改变

2、梯度发压:指用户(并发)数会在准备时间内,按照梯度数逐步增长,如图所示

3、动态调压:在发压过程中,可以在运行的过程中手动调节用户(并发)数;

Page 18: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

运行时参数

JMeter 脚本构造(包含运行时参数)

1. 添加用户自定义变量(User Defined Variables)

2.增加用户变量值

Page 19: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

3. 脚本中引用定义的“运行时变量”

执行页面编辑运行时变量

说明:

入口:“我的脚本”→"执行" 或 “定时任务管理”→" 创建定时任务"

执行脚本时会解析出脚本中定义的用户定义变量,可编辑修改,动态指定此次执行

的变量值

压测结果分析

Page 20: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

结果数据分析

说明:测试结果按照测试执行时设定的时间间隔实时刷新,获取最新的性能数据

页面上半部分动态图指标说明:

a) 总吞吐量(QPS):采样间隔时间片内脚本中所有请求的总 QPS,显示的数值为

最近一次的值

b) 平均响应时间:采样间隔时间片内所有请求总耗时/总次数,显示的数值为最近

一次的值

c) 实时采样数量:采样间隔时间片内所有请求总数,显示的数值为最近一次的值

d) 响应时间:按照采样间隔时间粒度,实时刷新的各请求平均响应时间趋势图

e) 吞吐率(QPS):按照采样间隔时间粒度,实时刷新的各请求 QPS 趋势图

f)并发数:按照采样间隔时间粒度,实时刷新的并发数趋势图

g)成功率:按照采样间隔时间粒度,实时刷新的成功率趋势图

Page 21: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

h)平均响应大小:按照采样间隔时间粒度,实时刷新的平均响应大小趋势图

页面下半部分动态图表指标说明:

a) 页面名称:采集器的名称

b)请求总数:基于各页面的总请求次数

c)成功总数:基于各页面的总成功次数

d)成功比率:基于各页面的成功请求占比

e)200 返回率:基于各页面的 200返回占比

f) 平均时间:基于每个页面请求平均响应时间

g) 最大时间:基于各页面所有请求最大耗时

h) 最小时间:基于各页面所有请求最小耗时

i) 平均响应大小:基于各页面平均响应体大小

j) TP90:基于各页面实时对请求响应时间正序排序,计算前 90%数据平均值

k) TP95:基于各页面实时对请求响应时间正序排序,计算前 95%数据平均值

l) TP99:基于各页面实时对请求响应时间正序排序,计算前 99%数据平均值

m) 方差 : 基于各页面计算响应时间方差

操作说明:

a)查询:支持区间查询,拖动开始时间和结束时间后点击查询,动态图表会根据自

定义的时间来统计性能数据,表头处可以导出为 Excel 测试报告

b) 下载日志:支持对 JMeter的日志进行打包下载

错误日志

会显示在发压的过程中,不符合断言(即使是返回了 200状态码)或者非 200 状态码(不

设置断言的情况)的请求,点击查看,就会进入到对应的详情页面的展示。

Page 22: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

跟踪日志

如图,跟踪日志显示的每个请求的 url、发压时间、返回状态码等,最多展示 100条。

点击单个采样器,可以进入到对应的详情信息的展示。

结果对比

选择同一脚本多次执行结果对比分析

操作入口:

测试脚本→执行历史,全选或者部分选择执行历史,点击“对比”进入结果对比页

Page 23: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

被测系统监控情况

Page 24: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

压测引擎监控情况

定时任务

页面构造定时任务

Page 25: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

功能说明

创建测试脚本后,可在“定时任务管理”菜单中创建定时任务并对定时任务进行管理

参数说明

定时任务名称:指定此次定时任务我名称,最好具有一定含义

测试名称:模糊查询 从已建立的测试脚本中筛选匹配的定时任务用户数

开始时间:定时总时间范围的开始时刻

结束时间:定时总时间范围的结束时刻

运行规则:cron表达式 (目前不支持到秒级的定时任务,仅支持 5位,默认 0s执行)

用户数:并发用户数量(并发线程数)

持续时间(单位:分钟):在指定时间内循环执行脚本

通知邮箱:定时执行及高失败告警通知的接收人邮箱,逗号隔开

准备时长(单位:秒):JMeter在多长时间内启动所有线程

监控:用于做被测服务监控

测试机 IP : 需要输入被测服务 IP

Page 26: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

运行参数:请详看“执行脚本”页面说明

我的定时任务

操作规则说明

定时状态:新创建、进行中、已结束、已取消、已删除

a.创建完定时任务后初始状态为“新创建”

b.若需定时任务生效请点击"开启"按钮,点击后定时进入“进

行中”状态

c.若想暂停定时,请点击“取消”按钮,定时任务挂起

d.若想恢复定时任务,请点击“恢复”按钮,定时任务恢复执

e.若定时任务已完成,系统自动置为“已结束”状态

f.若删除定时任务,将结束后续任务执行,在定时任务列表中

也不可见删除记录

g.查看参数:查看定时任务参数设定

h. 执行历史:定时任务执行历史列表

高失败率告警及邮件发送处理

运行中无效测试的发现/告警

Page 27: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

页面告警提示

正在执行的脚本,若持续 2min验证点成功率一直低于 90%,视为无效测试,会在

界面提示用户“警告:成功率低于 90%持续了 2分钟,建议终止”,

此时用户可以手动取消本次测试。

涉及到页面:执行页面、执行历史页面、链接页面

发送告警邮件

高失败率情况会给脚本创建人发送告警邮件,可点击详情查看

补充说明:

失败告警功能同步处理定时引发的高失败率情形

查看入口:”我的定时任务“→"执行历史"→"查看详情/复制链接",进入页面可以看具

体测试执行情况

高失败率测试会通过邮件发送给创建定时时指定的接收人。

Page 28: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

插件管理

主要用于上传 JMeter的插件、用户编写的 java性能测试 jar包,如 mqtt、kafka等,如

何编写 java 协议的脚本,可以自行网络搜索。

HTTP2 插件支持

构造 http2 采样器

目前构造 http2 采样器需要基于 JMeter, 具体构造过程如下:

JMeter 安装 http2 插件

Page 29: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

说明:

选择"HTTP/2 sampler", 右下方选择应用并重启 JMeter,即可开始 http2采样器的构造

构造 http2 采样器

Page 30: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

说明:

若 JDK版本为 1.8以上,插件安装完成后即可构造 http2 Request,若 JDK 版本为 1.8及

以下需要做以下依赖配置

相关依赖配置(jdk1.8 以下需要做如下配置)

1. jdk1.8 及以下不支持 h2协议,需要依赖 alpn-boot.jar。

需要注意的是,jdk小版本和 alpn-boot.jar的小版本是一一对应的,对应关系可前往该

网站查看:

https://www.eclipse.org/jetty/documentation/9.4.x/alpn-chapter.html

Page 31: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

如笔者的 jdk 版本为 1.8.0_161,对应的 alpn-boot 的版本是 8.1.12.v20180117。

前往 https://mvnrepository.com/artifact/org.mortbay.jetty.alpn/alpn-

boot 下载对应版本的 jar包保存到本地”apache-jmeter-5.0\lib\ext“目录下。

2. 修改 jmeter.bat 文件执行 jvm参数,配置参数值为 alpn-boot.jar 包所在路径

windows修改 jmeter.bat 文件,在文件中加入 set JVM_ARGS= -

Xbootclasspath/p:<path.to.jar>

如:set JVM_ARGS= -

Xbootclasspath/p:C:\Users\liqian55\Documents\software\apache-jmeter-

5.0\apache-jmeter-5.0\lib\ext\alpn-boot-8.1.12.v20180117.jar

linux/macos 修改 jmeter.sh 文件,在文件中加入 set JVM_ARGS= -

Xbootclasspath/p:<path.to.jar>

Page 32: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

如:set JVM_ARGS= -

Xbootclasspath/p:C:\Users\liqian55\Documents\software\apache-jmeter-

5.0\apache-jmeter-5.0\lib\ext\alpn-boot-8.1.12.v20180117.jar

jmeter.bat文件在 jmeter 应用对应的 bin目录下,如笔者所在文件目录为:

C:\Users\liqian55\Documents\software\apache-jmeter-5.0\apache-jmeter-5.0\bin

以编辑方式打开 jmeter.bat 文件,加入 jvm参数配置

以上配置完成后可构造 h2 采样器,以 m.jd.com 为例

Page 33: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

注意:protocol 为 https

执行,查看结果树,请求成功

响应数据:

Page 34: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

另外,需要注意的是,h2 是一个异步协议,这意味着 client不必等待服务器的响应来继

续通信。因此,如果我们想要将断言或后处理器添加到 h2请求中,即 处理响应,我们需

要选中 h2采样器中的复选框 Synchronized Request 来让 JMeter在发送更多请求之前需

要等待直到收到响应。

MQTT 插件支持

构造 MQTT 采样器

目前构造 mqtt 采样器需要基于 JMeter, 具体构造过程如下:

JMeter 安装 mqtt 插件

下载 mqtt-jmeter 插件依赖,下载地址:https://github.com/emqx/mqtt-

jmeter/releases

将下载的依赖放到 jmeter的 lib/ext目录下,重启后便可创建 mqtt 采样器

Page 35: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

构造 mqtt 请求

Page 36: 京东智联云性能测试帮助文档 · 2020-04-21 · 构造http2采样器 o MQTT插件支持 构造MQTT采样器 产品简介 产品概述 京东智联云性能测试服务遵循测试服务“云化”的思想,通过对弹性资源的灵活调度,快

结果分析: