我们在性能测试过程中,在需要较大并发时,为了尽量避免使用GUI界面来节省资源,通常使用命令行的方式执行性能测试。
jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
虽然这样有测试报告可以查看,但是效果往往并不尽如人意,所以有什么更好的办法既能让我们可以观看实时监控又能更为直观的查看测试结果呢?
答案是有的:将jmeter中的数据上传至时序数据库Influxdb中,再通过Grafana大屏显示
Influxdb介绍
Influxdb是一种时序数据库,用来存放监控数据。主要特色有:
1.基于时间序列,支持与时间有关的相关函数(如最大,最小,求和等)
2.可度量性:可以实时对大量数据进行计算
3.基于事件:支持任意的事件数据
4.类SQL语法
下载:https://download.csdn.net/download/m0_57098592/86519999
下载并解压后,双击运行influxd.exe
默认端口为8086,如果不默认使用conf的配置的话,可以自己配置,修改端口如下,修改配置后记得先双击运行influxd.exe
启动运行influxd,出现以下信息则成功
这时我们还是空的数据库,需要我们创建一个数据库,窗口不要关闭,打开一个新的cmd窗口,cd到当前目录下
输入influx,Influxdb自带一个客户端程序influx,可用来增删改查等操作数据库,我们新增一个叫jmeter的数据库
打开Jmeter,添加一个后端监听器
如下填写,ps:influxdbUrl中url为自己数据库ip地址和端口号
Grafana下载
Grafana安装网址(windows),其他版本对应下载即可
https://grafana.com/grafana/download?edition=oss&platform=windows
下载
安装成功后,解压即可,找到解压后目录中的bin文件夹
运行grafana-server.exe文件
默认端口为3000,可修改配置文件 conf/defaults.ini
运行完成后,浏览器输入网址http://ip:3000(如果登不上记得关防火墙哦)进入登录界面,账户名密码默认都为admin
下一步可修改密码
提交后进入grafana首页
这时我们需要配置数据源,也就是我们举例之前下载的influxdb,选择设置中的data source,新增
选择需要的数据源,这里我们举例的是influxdb
选择后,需要填写的为,需要连接数据库的url和database名字,选择后提交即可
提交后就连接成功啦,但是我们现在还看不到效果,因为我们还没有配置屏显,点击进入Dashboards
可以新增项目,输入项目名create即可
好啦,现在我们就差最后一步了,导入一个你喜欢的数据展示风格,可以直接上传json文件,对应文件可去grafana官网下载
下载json屏显文件由此去:https://grafana.com/grafana/dashboards/
因为我们是用的jmeter,所以选择一款自己喜欢的风格下载即可
下载完成后,我们导入json文件(这里我已经有重复的了,请忽略)
13.选择DB name导入后,点击进入即可~
14.在这里设置自动刷新的频率,ps:这里没有数据是因为我还没运行jmeter和influxdb哈~
好啦,搭建完成!我们运行jmeter(记得开着数据库哦)就能实时查看数据啦。