在上一篇博文中,主要是讲了InfluxDB的配置,博文链接:https://www.cnblogs.com/hong-fithing/p/14453695.html,今天来分享下Jmeter的配置。
在介绍Jmeter之前,必须是要有Jmeter环境的,至于环境怎么配,工具怎么用,可以看以前的博文。环境搭建:Jmeter——环境搭建;Jmeter系列博文:Jmeter系列。所以这些就不多讲了,可以自行查看,今天以性能监控平台配置为主,介绍Jmeter运行脚本来采集对应数据。
Jmeter配置 添加监听器在线程组中,添加监听器(Listener)-> Backend Listener,如下图所示:
配置Backend Listener监听方式添加监听后,监听方式默认为GraphiteBackendListenerClient,如下图所示:
监听方式是可以修改的,监听器没扩展的情况下,共有2种,扩展后,支持四种方式,如下所示:
我已经扩展过了,所以展示4种,具体扩展方式,稍后再说。今天介绍主要以前三种监听方式为主,三种方式采集的数据,也有些许不同,我们详细来看。
GraphiteBackendListenerClient监听 界面配置配置监听方式为GraphiteBackendListenerClient,不同的监听方式,配置面板上的配置字段也有不同之处,配置如下所示:
配置界面的详细字段如下:
graphiteHost:InfluxDB安装的服务器ip
graphitePort:端口;默认就是2003。ps:除非你自己安装InfluxDB时设置了其他端口。按自己的实际端口配置即可
rootMetricsPrefix:指标的根前缀;将测试结果存入数据库时,不同指标会生成不同表
summaryOnly:当你线程组有多个请求又想知道每个请求的结果数据时,最好填false,因为true只会返回所有请求的集合数据报告,不会输出每条请求的数据报告
samplersList:取样器列表;想收集哪些请求就填哪些,最好用正则去匹配
useRegexpForSamplersList:是否使用正则;如果true则使用,samplersList里可以匹配正则表达式
percentiles:百分比;即类似聚合报告里90% Line,95% Line,99% Line的数据;倘若想要99.9时,需要写成【99_9】,用下划线代替点
运行脚本运行脚本,运行没报错,便会产生数据了,可以通过服务器客户端查看,或者上篇博文中介绍的客户端工具查询。查询数据如下所示:
通过查询数据发现,总共会生成三种前缀的表,分别是:jmeter.请求名称、jmeter.all、jmeter.test。通过数据可以看到,请求数据都是整齐划一的以jmeter.开头,是因为我们刚才配置的时候,设置的是jmeter.;如果你配置成其他,那就会以自定义的前缀生成数据了。
前缀说明
jmeter.all :代表了所有请求;当summaryOnly=true时,就只有samplerName=all的表了
jmeter.请求名称 :如图所示,HTTP请求的名字是HTTP Request 温一壶清酒 appium
jmeter.test :线程组设置相关的指标数据
参数指标参数指标说明,在jmeter官网有介绍,地址是:https://jmeter.apache.org/usermanual/realtime-results.html,可以查看原文档。我在这里就按中文来说明了。
线程/虚拟用户指标Thread/Virtual Users metrics - 线程/虚拟用户指标
运行完脚本,生成的数据中,是有对应的5个指标数据的,如下所示:
<rootMetricsPrefix>test.minAT Min active threads 最小活跃线程数
<rootMetricsPrefix>test.maxAT Max active threads 最大活跃线程数
<rootMetricsPrefix>test.meanAT Mean active threads 平均活跃线程数
<rootMetricsPrefix>test.startedT Started threads 启动线程数
<rootMetricsPrefix>test.endedT Finished threads 结束线程数
响应时间指标
Response times metrics - 响应时间指标