背景
在无界面压测情况下,我们需要去额外搭建可视化观测平台。借助于Influxdb+Grafana,我们可以轻松让Jmeter的结果自动写入Influxdb,Influxdb实时存储运行结果,最后由Grafana作为展示
Jmeter
无界面运行需要修改配置(jmeter.properties)
- jmeter.save.saveservice.response_data=true
- jmeter.save.saveservice.output_format=csv
- jmeter.save.saveservice.samplerData=true
注:如果jmeter运行内存过大导致卡死,可以修改jmeter.bat文件,把内存改大
if not defined HEAP (
rem See the unix startup file for the rationale of the following parameters,
rem including some tuning recommendations
set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m
)
无界面运行命令
- -n 无界面压测
- -t 指定jmx脚本
- -l 生成jtl测试报告,后面跟随目标路径
- -e -o 直接生成报告html报告,后面跟随目标路径
jmeter -n -t <jmx脚本> -l <路径>
Influxdb
下载地址:https://www.influxdata.com/downloads/
通过上述地址找到对应版本,通常我们下载v1.8版本就够用了,我用的是windows版本安装的https://dl.influxdata.com/influxdb/releases/influxdb-1.8.10_windows_amd64.zip
修改配置:
默认配置是#bind-address = "127.0.0.1"是用来监听本机的,意味着他只会和本机通信。如果Influxdb和Jmeter在同一机器上则无需修改。如果涉及分布式压测则一定需要修改下方配置
# bind-address = "0.0.0.0:8088"
把可写入置为true,数据库名设置为jmeter
[[graphite]]
# Determines whether the graphite endpoint is enabled.
# enabled = true
# database = "jmeter"
启动服务:
安装地址cmd进入
输入命令启动服务
influxd --config influxdb.conf
页面如上图所示,说明服务启动成功
新开一个命令行工具
输入命令登陆启动的服务器
influx
创建对应的数据库(上面配置)的名字Jmeter
#查看对应库是否存在
show databases
#创建对应库
create database jmeter
Grafana
下载地址:https://grafana.com/grafana/download
配置data sources
还需要添加一下数据库的账号密码和库名
配置模版
使用官方模版:https://grafana.com/grafana/dashboards/
搜索对应模版
copy模版ID
黏贴对应的ID