1.软件版本
各软件版本:JMeter-5.2.1 ; InfluxDB-1.7.9; Grafana-8.2.2
2.安装InfluxDB
2.1InfluxDB简介
- 时序数据库:处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。想象它就像一个sql表,其中时间是它的主键
- InfluxDB:是一款用Go语言编写的开源分布式时序、事件和指标数据库,无需外部依赖。InfluxDB 旨在处理高写入和查询负载。它是TICK 堆栈的一个组成部分 。InfluxDB 旨在用作任何涉及大量时间戳数据的用例的后备存储,包括 DevOps 监控、应用程序指标、物联网传感器数据和实时分析。
Telegraf(收集数据) —> InfluxDB(存储数据) —> Chronograf(显示数据) —>Kapacitor(处理数据)
官方下载地址: https://dl.influxdata.com/influxdb/releases/influxdb-1.7.9_windows_amd64.zip
2.2 Windows 下的 InfluxDB 安装和运行
-
解压后修改配置文件 influxdb.conf
-
修改 graphite 部分
-
修改 http 部分
2.3 运行Influxd
influxdb 的目录下输入cmd,命令 influxd -config influxdb.conf 启动
2.4 启动influxdb数据库客户端 -
双击 influx.exe
-
基本命令
# 显示用户
SHOW USERS
# 创建用户
CREATE USER "username" WITH PASSWORD 'password'
# 赋予用户管理员权限
GRANT ALL PRIVILEGES TO username
# 创建管理员权限的用户
CREATE USER <username> WITH PASSWORD '<password>' WITH ALL PRIVILEGES
# 修改用户密码
SET PASSWORD FOR username = 'password'
# 撤消权限
REVOKE ALL ON mydb FROM username
# 查看权限
SHOW GRANTS FOR username
# 删除用户
DROP USER "username"
- 示例,创建用户和数据库
CREATE USER admin WITH PASSWORD 'admin' WITH ALL PRIVILEGES
auth admin admin
CREATE DATABASE jmeter
show databases
use jmeter
show measurements
3. jmeter设置
- 添加Backend Listener(后端监听器)
提示:
如果influxdb.conf中auth-enabled = true启用,则influxdbUrl需要指定用户和密码
或者
- 运行JMeter, influx.exe 命令行界面,运行 show measurements 查看
4.安装Grafana
https://grafana.com/grafana/download?platform=windows
- 启动服务 双击grafana-server.exe
- 用浏览器 打开:http://localhost:3000/ 输入: admin admin 登录
- 配置数据源
5. 配置图表
5.1 自定义图表
指标说明
线程数/用户相关指标
test.minAT-Min active threads:最小活跃线程数
test.maxAT-Max active threads:最大活跃线程数
test.meanAT-Mean active threads:活跃线程数
test.startedT-Started threads:启动线程数
test.endedT-Finished threads:结束线程数
响应时间指标
.ok.count:采样器的成功响应数
.h.count:每秒点击数
.ok.min:采样器成功最短响应时间
.ok.max:采样器成功最长响应时间
.ok.avg:采样器成功平均响应时间
.ok.pct:采样器成功响应百分比
.ko.count:采样器失败响应数
.ko.min:采样器失败的响应最短时间
.ko.max:采样称失败最长响应时间
.ko.avg:采样器失败平均响应时间
.ko.pct:采样器失败响应百分比
.a.count:采样器响应数(ok.count和ko.count的总和)
.a.min:采样器最小响应时间(ok.count和ko.count的最小值)
.a.max:采样器最大响应时间(ok.count和ko.count的最大值)
.a.avg:采样器平均响应时间(ok.count和ko.count的平均值)
.a.pct:采样器响应百分比(根据和失败样本的总数计算)
Backend Listener的默认百分位设置为“90;95;99”,即百分位数为90%,95%和99%。
Graphite使用点(“.”)去拆分的元素,这可能与十进制百分位值混淆。JMeter转换任何此类值,用下划线(“ - ”)替换点(“.”)。例如,“99.9 ”变为“99_9 ”
默认情况下,JMeter发送在samplerName“all”下累计的所有采样器的指标。 如果配置了 BackendListenerSamplersList,那么JMeter还会发送匹配样本名称的指标,前提是配置 summaryOnly=true
5.2 导入图表(Dashboard)模板
网址:https://grafana.com/grafana/dashboards/?plcmt=footer&search=jmeter
导入模板
查看效果