在实践工作中,我们会发现 jmeter 对于结果的展示存在如下问题:
1、无法实时的利用图表化去查看压测时候的业务性能指标;
2、本身自带的 html 报告如果在跑稳定性测试的时候,解析速度慢;
为解决上述实际工作中的问题,我们采用了开源工具 grafana、influxdb 方案,在压测中,直接就可以在 web 页面中实时查看业务性能指标,简单明了。

更多测试好文章,可以收藏https://www.dahuaxingneng.com

接下来就讲讲如何一步步完成上述方案的实现。

1、influxdb 的安装部署


influxdb 是一个开源的时序数据库,利用它,我们可以存储采集过来的业务性能指标。
安装比较简单,如下,我是在 centos6.7 上操作的。

#wget https://repos.influxdata.com/rhel/6Server/x86_64/stable/influxdb-1.2.0.x86_64.rpm
#rpm -ivh influxdb-1.2.0.x86_64.rpm
#InfluxDB 1.1开始WEB管理默认是禁用的,所以装完并没有启用8083端口了,需要到配置文件里启用。

修改/etc/influxdb/influxdb.conf,默认web的admin是false
启动service influxdb start

可以在服务器上看进程是否成功起来。

若是进程没问题,可以打开 web 管理界面,输入 IP:8083,即可访问,成功的话显示如下。


说明:
1、InfluxDB 的 Web 管理界面端口是 8083,HTTP API 监听端口是 8086,如果需要更改这些默认设定,修改 InfluxDB 的配置文件 /etc/influxdb/influxdb.conf 后重启 InfluxDB 就可以了。
后续往 influxdb 写入数据就是通过 8086 端口。
2、安装成功后,就可以创建对应的数据库,为了保证数据库的数据量不会无限大,可以配置策略,删除超过一定时间的数据。

2、业务性能指标收集


在 jmeter 的 3.3 版本新增了一个特别好用的功能 InfluxDB BackendListener,在调试好的 jmx 脚本增加 backend listener 就可以收集业务端的性能指标。 在 influxdburl 中填写上面新安装 influxdb 地址,并跟上数据库名字,就可以把 jmeter 的业务性能指标存入到 influxdb 数据库中,简单方便。

3、grafana 的安装部署


grafana 是一个拥有丰富素材的开源图标展示工具,利用它,我们实时的展示从存在 influxdb 数据库中的性能数据
Grafana 主要是做 infludb 数据的可视化用的,安装简单,如下。


wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.6.0-1.x86_64.rpm
sudo yum localinstall grafana-4.6.0-1.x86_64.rpm
service grafana-server start

服务器上进程启动如下。


另外,可以通过 ip:3000 可以访问 web 页面,如下。
默认用户/密码是 admin/admin。


登陆 grafana 后,首先添加数据源,这里选择 influxdb,具体如下。当然 grafana 不仅仅只支持 influxdb 数据库,还支持其他的,根据实际情况选择。


添加成功后,就关联了数据源,然后你就可以添加 dashboard 进行展示了

4、效果展示

最后的效果如下图,当然你需要特定的 grafana 的 dashboard 的模版,你可以添加微信 ballboy_tong,备注 dashboard,即可免费获取,拿来导入即可使用,不用自己在去摸索了。


↙↙↙阅读原文可查看相关链接,并与作者交流