文章目录
- [1. 搭建实时压测监控体系](#1. 搭建实时压测监控体系)
-
- [1. 逻辑图 - 在 Windows 环境 + 云服务器 上构建 JMeter + InfluxDB + Grafana 实时压测监控体系](#1. 逻辑图 - 在 Windows 环境 + 云服务器 上构建 JMeter + InfluxDB + Grafana 实时压测监控体系)
- 2.逻辑图
- [3. 逻辑图 -场景:对一个部署在 Kubernetes 上的 Spring Boot 应用做压测](#3. 逻辑图 -场景:对一个部署在 Kubernetes 上的 Spring Boot 应用做压测)
-
- [4.逻辑图 - 分布式](#4.逻辑图 - 分布式)
-
- [使用 JMeter 分布式模式(Master-Slave) + Kubernetes 部署 Slave 节点](#使用 JMeter 分布式模式(Master-Slave) + Kubernetes 部署 Slave 节点)
- [5. 实际工作部署](#5. 实际工作部署)
-
- [实际工作中,JMeter 的使用方式分为两大类:](#实际工作中,JMeter 的使用方式分为两大类:)
- 总结
✨✨✨学习的道路很枯燥,希望我们能并肩走下来!
编程真是一件很奇妙的东西。你只是浅尝辄止,那么只会觉得枯燥乏味,像对待任务似的应付它。但你如果深入探索,就会发现其中的奇妙,了解许多所不知道的原理。知识的力量让你沉醉,甘愿深陷其中并发现宝藏。

本文开始
1. 搭建实时压测监控体系
1. 逻辑图 - 在 Windows 环境 + 云服务器 上构建 JMeter + InfluxDB + Grafana 实时压测监控体系
【注】推荐将 InfluxDB + Grafana 部署在同一台云服务器(Linux 更稳定,但 Windows 也可行)
JMeter 官方推荐使用 Backend Listener 写入 InfluxDB 2.x;
实际场景-需要多台压测机形成集群进行压测;
2.逻辑图
1.本地 Windows 用 JMeter 发起压测(向被测系统发请求)
2.JMeter 同时将性能指标实时发送到云上的 InfluxDB
3.在本地浏览器打开 Grafana 页面,即可实时查看压测监控结果
【注】关键点:Grafana 和 InfluxDB 部署在云上,但你从任何地方(包括本地)都能通过浏览器访问 Grafana 看板。
3. 逻辑图 -场景:对一个部署在 Kubernetes 上的 Spring Boot 应用做压测
prometheus,infshdb, grafana,jmeter是怎样的逻辑串联起来呢?
组件介绍:
| 组件 | 类型 | 核心作用 |
|---|---|---|
| JMeter | 压测工具 | 模拟用户请求,生成负载,并采集自身性能指标(TPS、RT 等) |
| InfluxDB | 时序数据库(TSDB) | 存储 JMeter 产生的压测指标数据(非被测系统!) |
| Prometheus | 监控系统 + TSDB | 监控被测系统(如 Java 应用、MySQL、K8s)的运行状态(CPU、内存、JVM、HTTP 请求数等) |
| Grafana | 可视化平台 | 统一展示 InfluxDB(压测数据) + Prometheus(系统监控)的数据 |
| Kuboard | Kubernetes 管理 UI | 国产 K8s 可视化管理工具(类似 Rancher),非监控组件 |
-
JMeter 的双重角色
对外:向 Spring Boot App 发起压力(模拟用户)
对内:通过 Backend Listener 将 自身采集的指标(如每秒请求数、响应时间)写入 InfluxDB
-
Prometheus 监控
Prometheus 通过 Exporter 或 应用内嵌 metrics endpoint 采集:
应用层数据:HTTP 请求 QPS、错误率、JVM GC 时间、线程数(需集成 Micrometer)
系统层数据:Pod CPU/内存、Node 资源、网络 IO
中间件数据:MySQL 连接数、Redis 命中率
【注】Prometheus 监控的是"被测系统",而 InfluxDB 存的是"压测行为数据"
-
Grafana 如何整合?
添加 两个数据源(Data Source):
InfluxDB → 展示 JMeter 压测曲线(TPS、RT)
Prometheus → 展示被测系统资源使用(CPU、内存、JVM)
-
Kuboard 是什么?
定位:国产开源的 Kubernetes 可视化管理平台,更偏向运维操作台。
功能:
查看 Pod/Deployment/Service
在线编辑 YAML
日志查看、终端连接
集成 Prometheus 监控图表(需额外配置)
4.逻辑图 - 分布式
使用 JMeter 分布式模式(Master-Slave) + Kubernetes 部署 Slave 节点
1.横向扩展 JMeter 压测能力 → 用多个 JMeter Slave 容器并行发压
2.统一收集压测指标 → 所有 Slave 将数据写入同一个 InfluxDB
3.集中监控被测系统 → Prometheus 抓取应用指标
4.统一可视化 → Grafana 展示压测 + 系统监控
5.Kuboard 仅作为 K8s 管理界面(非核心组件)
【注】
Master 不产生压力,也不写监控数据
每个 Slave 是独立的 JMeter 实例,需配置 Backend Listener
5. 实际工作部署
实际工作:将 JMeter 部署到生产环境(或类生产环境)并通过命令行执行压测
核心原则:自动化、可重复、可观测、可回溯
适用场景:
1.自动化性能回归测试
2.大促前容量验证
4.CI/CD 流水线集成
4.无人值守的稳定性测试(如 7×24 小时)
【注】"生产环境"通常指"与生产配置一致的预发/压测环境",极少直接在真实生产流量上压测。
实际工作中,JMeter 的使用方式分为两大类:
- GUI 模式(客户端 JMeter):主要用于 脚本开发、调试、小规模验证
- 命令行模式(非 GUI):用于 正式压测、自动化、大规模负载
标准工作流:JMeter客户端与命令行配合使用
总结
✨✨✨各位读友,本篇分享到内容是否更好的帮助你理解,如果对你有帮助给个👍赞鼓励一下吧!!
🎉🎉🎉世上没有绝望的处境,只有对处境绝望的人。
🎉🎉🎉一遇挫折就灰心丧气的人,永远是个失败者。而一向努力奋斗,坚韧不拔的人会走向成功。
感谢每一位一起走到这的伙伴,我们可以一起交流进步!!!一起加油吧!!!






