1、jmeter是用来压力测试的,influxdb是个时序数据库,用来存储压测数据,grafana将influxdb中的数据以图表的形式显示出来。
2、搭建influxdb
1、下载influxdb镜像
docker pull influxdb
2、启动influxdb容器
docker run -d -p 8086:8086 -p 8083:8083 --name=jmeterdb influxdb
3、进入influxdb容器
docker exec -it jmeterdb bash
执行 influx
命令进入命令台
执行类sql语句 创建JMeter数据库:create database jmeter;
创建完JMeter数据库之后执行如下命令验证数据库已经创建成功: show databases;
启用jmeter数据库:use jmeter
查询数据库数据:select * from jmeter
[root@VM_0_4_centos install_package]# docker exec -it jmeterdb bash
root@8dd54d0f4409:/# influx
Connected to http://localhost:8086 version 1.7.9
InfluxDB shell version: 1.7.9
> create database jmeter
> show databases
name: databases
name
----
_internal
jmeter
> use jmeter
Using database jmeter
> select * from jmeter
> delete from jmeter
name: jmeter
time application avg count countError endedT hit max maxAT meanAT min minAT pct90.0 pct95.0 pct99.0 rb sb startedT statut transaction
---- ----------- --- ----- ---------- ------ --- --- ----- ------ --- ----- ------- ------- ------- -- -- -------- ------ -----------
1575447486469000000 littlebean 0 0 0 0
> exit
root@8dd54d0f4409:/# exit
exit
3、配置jmeter-Backend Listener
1、添加Test Plan->Thread Group->Add->Listener->Backend Listener
2、Backend Listener implementation:选择org.apache.jmeter.visualizers.backend.influxdb.InfluxdbBackendListenerClient
influxdburl:http://域名:8086/write?db=influxdb数据库的名称
application:应用名称
measurement:jmeter
4、配置grafana
1、选择Configuration->Data Sources->Add data source
2、选择influxDB
3、添加Name:influx DB
URL:http://域名:8086
Access:Browser
Database:jmeter
点击save&test保存
4、上传模板信息:+->import->添加模板id或者json文件,点击upload
上传成功后,显示如下
手动改DB name为influxDB,点击import,导入成功
5、执行压测脚本(并发用户数分别是10,20,30,50,100,200,1000),查看测试结果