【性能测试】Jmeter+Grafana+InfluxDB+Prometheus Windows安装部署教程

一、工具作用与整体架构

1.1 各工具核心作用

工具 作用描述 关键特性
Jmeter 性能测试工具,模拟多用户并发请求,生成测试数据 支持HTTP/HTTPS、数据库等多种协议,可自定义测试场景
InfluxDB 时序数据库,专门存储时间序列数据(如Jmeter测试结果) 高写入性能,支持Flux查询语言,适合存储海量测试指标
Prometheus 时序数据库,专注于系统监控指标收集(如CPU、内存、网络) 支持数据拉取(Pull)模式,内置PromQL查询,适合监控服务器/应用指标
Grafana 数据可视化平台,将InfluxDB和Prometheus数据以仪表盘形式展示 支持多数据源整合,丰富的图表类型,可自定义告警规则

1.2 整体架构关系

四者通过以下流程协同工作:

  1. Jmeter 模拟用户请求,生成性能测试数据(如响应时间、吞吐量);
  2. InfluxDB 存储Jmeter测试结果,通过Backend Listener实时写入;
  3. Prometheus 收集Windows服务器指标(如CPU使用率、内存占用),需配合Windows Exporter;
  4. Grafana 从InfluxDB和Prometheus拉取数据,通过仪表盘可视化展示,实现性能测试与系统监控一体化。

二、安装前准备

2.1 环境要求

  • 操作系统:Windows 10/11 64位
  • Java环境 :JDK 11+(Jmeter依赖),需配置JAVA_HOME环境变量
  • 权限:管理员权限(用于安装服务、开放端口)
  • 硬件:建议4核CPU、8GB内存、50GB磁盘空间

2.2 工具版本与下载链接

工具 推荐版本 下载链接
Jmeter 5.6.3 Apache Jmeter官网
InfluxDB 2.7.10 InfluxDB官网
Prometheus 2.53.3 Prometheus官网
Grafana 11.4.0 Grafana官网
Windows Exporter 0.24.0 GitHub Releases
NSSM 2.24 NSSM官网

三、详细安装步骤

3.1 Jmeter安装与配置

3.1.1 安装Java环境
  1. 下载JDK 11+(如Adoptium Temurin),安装时勾选"Add to PATH";
  2. 验证Java安装:打开命令提示符,输入java -version,显示版本信息则成功。
3.1.2 安装Jmeter
  1. 下载Jmeter二进制zip包(如apache-jmeter-5.6.3.zip);
  2. 解压至C:\jmeter,进入C:\jmeter\bin,双击jmeter.bat启动;
  3. 验证启动:打开界面后,右键"Test Plan"→"Add"→"Threads (Users)"→"Thread Group",若能正常添加则安装成功。
3.1.3 安装InfluxDB插件
  1. 下载jmeter-influxdb2-listener-plugin(如jmeter-plugins-influxdb2-listener-2.8.jar);
  2. 将jar包复制到C:\jmeter\lib\ext目录,重启Jmeter。

3.2 InfluxDB安装与配置

3.2.1 安装InfluxDB
  1. 下载InfluxDB Windows安装包(如influxdb2-2.7.10-windows-amd64.msi);
  2. 双击安装,按向导完成,默认安装路径C:\Program Files\InfluxData\InfluxDB
  3. 启动服务:打开PowerShell(管理员),输入net start influxdb
3.2.2 初始化配置
  1. 访问http://localhost:8086,首次登录创建管理员账号(如admin/admin123);
  2. 创建Organization (如jmeter-org)、Bucket (如jmeter,保留默认7天数据保留期);
  3. 生成Token :进入"Data"→"Tokens"→"Generate Token"→"Read/Write",保存Token(如my-token-xxxx)。

3.3 Prometheus安装与配置

3.3.1 安装Prometheus
  1. 下载Prometheus Windows zip包(如prometheus-2.53.3.windows-amd64.zip);

  2. 解压至C:\Prometheus,修改prometheus.yml配置文件:

    复制代码
    global:
      scrape_interval: 15s  # 全局抓取间隔
    scrape_configs:
      - job_name: 'prometheus'  # 监控自身
        static_configs:
          - targets: ['localhost:9090']
      - job_name: 'windows'  # 监控Windows服务器
        static_configs:
          - targets: ['localhost:9182']  # Windows Exporter端口
3.3.2 注册为Windows服务(使用NSSM)
  1. 下载NSSM,解压至C:\nssm,将nssm.exe复制到C:\Windows\System32
  2. 打开命令提示符(管理员),输入nssm install Prometheus,在弹出窗口配置:
    • PathC:\Prometheus\prometheus.exe
    • Arguments--config.file=C:\Prometheus\prometheus.yml
  3. 启动服务:nssm start Prometheus,验证:访问http://localhost:9090,显示Prometheus界面。

3.4 Windows Exporter安装(Prometheus监控依赖)

  1. 下载Windows Exporter MSI包(如windows_exporter-0.24.0-amd64.msi);
  2. 双击安装,默认端口9182,服务自动启动;
  3. 验证:访问http://localhost:9182/metrics,显示系统指标数据。

3.5 Grafana安装与配置

3.5.1 安装Grafana
  1. 下载Grafana Windows zip包(如grafana-11.4.0.windows-amd64.zip);
  2. 解压至C:\Grafana,进入C:\Grafana\bin,双击grafana-server.exe启动;
  3. 验证:访问http://localhost:3000,默认账号admin/admin,首次登录需修改密码。
3.5.2 添加数据源
  1. 添加InfluxDB数据源

    • 左侧菜单"Connections"→"Add new connection"→搜索"InfluxDB";
    • URLhttp://localhost:8086Token:输入InfluxDB生成的Token;
    • Organizationjmeter-orgBucketjmeter,保存并测试连接。
  2. 添加Prometheus数据源

    • 左侧菜单"Connections"→"Add new connection"→搜索"Prometheus";
    • URLhttp://localhost:9090,保存并测试连接。
3.5.3 导入仪表盘
  1. 导入Jmeter测试结果仪表盘:左侧"+"→"Import"→输入ID 17440(JMeter Report InfluxDB2.0);
  2. 导入Windows系统监控仪表盘:输入ID 10467(Windows Exporter Dashboard);
  3. 选择对应数据源(InfluxDB/Prometheus),完成导入。

四、工具集成与验证

4.1 Jmeter与InfluxDB集成

  1. 打开Jmeter,创建测试计划,添加"Thread Group"(10用户,Ramp-Up 10秒);
  2. 添加"HTTP Request"(测试目标URL,如https://www.example.com);
  3. 添加"Backend Listener":
    • Backend Listener Implementationio.github.mderevyanko.aqa.visualizer.InfluxDatabaseBackendListenerClient
    • Parameters
      • influxDBUrlhttp://localhost:8086
      • influxDBTokenmy-token-xxxx
      • influxDBOrganizationjmeter-org
      • influxDBBucketjmeter
      • testNamemy-test

4.2 完整流程验证

  1. 启动服务:确保InfluxDB、Prometheus、Grafana服务运行;
  2. 运行Jmeter测试:点击Jmeter启动按钮,执行测试计划;
  3. 验证数据写入
    • InfluxDB:访问http://localhost:8086→"Explore"→查询from(bucket: "jmeter") |> range(start: -1m),查看是否有数据;
    • Grafana:打开导入的Jmeter仪表盘,观察实时测试指标(响应时间、吞吐量);
  4. 验证系统监控:查看Windows仪表盘,确认CPU、内存等指标正常显示。

五、常见问题解决

5.1 端口冲突

  • 症状:服务启动失败,提示"端口被占用";
  • 解决 :修改配置文件更换端口(如Grafana默认3000→8080,在C:\Grafana\conf\custom.ini中设置http_port=8080)。

5.2 防火墙阻止连接

  • 症状:Grafana无法访问InfluxDB/Prometheus;
  • 解决 :开放端口(以8086为例):
    • 控制面板→"Windows Defender防火墙"→"高级设置"→"入站规则"→"新建规则"→"端口"→输入8086→"允许连接"。

5.3 Jmeter数据未写入InfluxDB

  • 检查项
    1. InfluxDB Token权限是否为"Read/Write";
    2. Jmeter插件是否放置在lib/ext目录;
    3. Backend Listener参数是否正确(尤其Organization和Bucket名称)。

六、部署主要用途

  1. 性能测试全链路监控

    实时跟踪Jmeter测试过程中的响应时间、错误率、吞吐量,结合系统资源(CPU、内存)变化,定位性能瓶颈。

  2. 系统稳定性监控

    通过Prometheus+Windows Exporter长期监控服务器指标,Grafana设置告警(如CPU使用率>80%),及时发现异常。

  3. 测试报告可视化

    替代Jmeter原生报告,Grafana仪表盘支持自定义图表(如响应时间分布、请求趋势),便于团队协作与报告分享。

  4. 多场景对比分析

    存储历史测试数据(InfluxDB),对比不同版本/环境下的性能差异,优化系统设计。

七、工具版本与端口汇总表

工具 版本 默认端口 配置文件路径
Jmeter 5.6.3 - C:\jmeter\bin\jmeter.properties
InfluxDB 2.7.10 8086 C:\Program Files\InfluxData\InfluxDB\influx-configs
Prometheus 2.53.3 9090 C:\Prometheus\prometheus.yml
Grafana 11.4.0 3000 C:\Grafana\conf\custom.ini
Windows Exporter 0.24.0 9182 -

通过以上步骤,即可在Windows环境下完成Jmeter+Grafana+InfluxDB+Prometheus的部署与集成,实现性能测试与系统监控的一体化可视化平台。

相关推荐
Ai拆代码的曹操10 小时前
MySQL GROUP BY 性能优化:执行计划分析 + 索引重构实战
mysql·性能优化·重构
人间凡尔赛17 小时前
React Compiler 正式落地一年:告别手动 useMemo/useCallback 的全栈实践
前端·性能优化·react
汽车仪器仪表相关领域17 小时前
NHA-604/605汽车排放气体测试仪:00级国标计量|多动力车型兼容|移动/固定双工况|智能联网尾气检测设备
大数据·人工智能·功能测试·安全·汽车·压力测试·可用性测试
Hy行者勇哥2 天前
软件测试完整体系
测试工具
小孔龙2 天前
VSync 与同步屏障:doFrame() 的优先调度
android·性能优化
mlidongfeng2 天前
[AI][昇腾950] Scalar 性能优化
人工智能·性能优化
乐启国际旅行社有限公司2 天前
文旅小程序性能优化:分包加载+地图视口懒加载解决景区卡顿与包超限
性能优化·小程序
TunerT_TQ2 天前
Valhalla 静态工程审阅 #012|Hertz 源码证据驱动评测【大厂开源基础设施特辑】
测试工具·微服务·开源·github·字节跳动·cloudwego·http框架
Dr.kangder2 天前
嵌入式软件接口测试:从理论到实践的全面指南
测试工具·架构·嵌入式·测试覆盖率
冷凝娇2 天前
【Postman】2026总结
测试工具·postman