模拟海量设备压测
云桩通提供「控制中心 + 压测节点(Agent)」分布式压测方案:在您的服务器上部署 Agent,于内网模拟大量**云快充(YKC 1.6)**或 OCPP 1.6-J 设备连接充电平台,配合控制台完成启停、实时监控、时序分析与压测报告,适用于充电平台容量评估与协议联调。
协议支持情况
| 协议 | 模拟设备调试 | 模拟设备压测 |
|---|---|---|
| 云快充 1.6 | ✅ | ✅ |
| OCPP 1.6-J | ✅ | ✅ |
模拟设备调试请先阅读 快速开始。本文聚焦压测完整流程。
架构说明
本系统为控制中心,压测节点需运行在您自己的服务器或电脑上。控制中心负责创建压测计划、下发启动/停止指令、采集指标与生成报告。Agent 与协议服务器可在内网通信,避免公网带宽成为瓶颈,并可按设备规模横向扩展多个压测节点。


快速上手(6 步)
步骤 1:创建虚拟设备配置
压测计划需绑定虚拟设备配置(协议行为、枪数量、充电参数等)。在控制台打开 虚拟设备 → 虚拟设备配置,新增配置并选择 YKC1.6 或 OCPP1.6-J。
步骤 2:创建压测节点
打开 虚拟设备 → 压测节点,点击 新增,填写节点名称并保存。系统会生成节点 ID 与 Token,用于 Agent 认证。

步骤 3:部署压测 Agent
在节点列表中,离线节点可点击 命令 查看启动命令;部署成功后节点 在线状态 变为「在线」。

在线后可点击节点名称查看实时状态(CPU、内存、在线设备数等)。

Agent 部署方式见下文 Agent 部署详解。
步骤 4:创建压测计划
打开 虚拟设备 → 测试计划,配置:
| 配置项 | 说明 |
|---|---|
| 服务端 IP / 端口 | 目标充电平台协议服务器地址 |
| 虚拟配置 | 步骤 1 中创建的配置 |
| 设备数量 | 本计划模拟的设备总数 |
| 设备编码 | 顺序编码或自定义编码 |
| 启动间隔 | 每个设备依次上线的间隔(毫秒) |

步骤 5:启动压测
在 压测节点 列表中,对在线节点点击 启动,选择测试计划并确认。页面顶部 设备配额 Banner 会显示当前账号可用额度,超额时无法启动。

步骤 6:观测、停止与报告
- 压测监控:查看所有运行中计划的在线数、建连 P95、心跳 RTT、SLA 状态(30 秒自动刷新)
- 停止压测:在节点行点击 停止,选择运行中的计划
- 压测报告:计划停止后自动生成,可在 压测报告 菜单查看、对比与导出

Agent 部署详解
以 JAR 包启动
java -jar \
-DsecurityKey=您的节点ID \
-DsecurityToken=您的节点Token \
ruoyi-device-agent.jar以 Docker 启动(可选)
镜像版本以控制台「查看启动命令」中显示的为准,示例:
docker run \
-e JAVA_OPTS='-DsecurityKey=您的节点ID -DsecurityToken=您的节点Token' \
-v ./logs/agent:/ruoyi/device-agent/logs/ruoyi-device-agent \
--name device-agent -d \
registry.cn-guangzhou.aliyuncs.com/plus-prod/device-agent:2.6.2
启动参数说明
| 参数 | 含义 | 默认值 |
|---|---|---|
securityKey | 系统中创建的压测节点 ID | 必填 |
securityToken | 系统中创建的压测节点 Token | 必填 |
控制台功能说明
| 菜单 | 主要能力 |
|---|---|
| 压测节点 | 节点 CRUD、Agent 启动命令、启停计划、停止订单、点击节点名查看状态 |
| 测试计划 | 计划 CRUD、运行状态、跳转监控 / 时序 / 报告 |
| 压测监控 | 运行中计划总览、在线/目标、SLA 指示灯、30 秒刷新 |
| 压测指标 | 计划级时序曲线(建连、RTT、业务成功率等) |
| 压测报告 | 历史报告列表、两条对比、Excel 导出 |
| 压测计划组 | 多计划 / 多节点聚合、在线数对账、组级 SLA 配置 |
| 节点资源时序 | Agent CPU、内存、带宽、在线设备数曲线 |




指标与 SLA 说明
Agent 每 30 秒上报节点资源与计划业务指标。控制台按层次展示:
| 层次 | 典型指标 |
|---|---|
| 连接层 | 在线设备数、建连 P50/P95/P99、失败数、断连 / 重连数 |
| 协议层 | 协议心跳 RTT P50/P95/P99 |
| 业务层 | 远程启动 / 停止成功率、交易闭环成功率、实时数据抖动 P95 |
| 稳定性 | 失败原因 TopN、帧速率快照 |
| 节点资源 | 进程 / 系统 CPU、堆内存、入站 / 出站带宽 |
SLA 判定(报告与监控页):连接成功率 ≥ 99%、心跳 RTT P95 ≤ 3000 ms、交易成功率 ≥ 99.5%。计划组可单独配置 SLA 阈值用于对账参考。
配额与权限
- 每个账号有设备配额上限,启动压测前请确认配额 Banner
- 压测监控、报告、计划组等菜单需管理员分配权限后可见
- 新环境部署后需执行平台提供的菜单 SQL 并重启服务
适用场景与限制
适合:
- 云快充 / OCPP 充电平台内网容量压测
- 多节点分布式模拟海量桩连接
- 开发 / 测试环境协议联调与回归
当前版本限制:
- 压测报告基于停止时刻快照生成,峰值指标为参考值,非全程时序聚合
- 计划组暂不支持一键批量启停,需在各节点分别操作
- 建议以内测 / MVP 方式使用,正式 SLA 门禁请结合业务验证
常见问题(FAQ)
压测节点必须部署在哪里?
Agent 必须部署在能访问目标协议服务器的网络环境中。推荐与协议服务器同内网,以减小公网带宽影响并提高连接稳定性。
单节点最多能模拟多少设备?
取决于 Agent 所在机器配置与协议复杂度。实际上限受账号设备配额约束,请在控制台配额 Banner 中查看。
压测报告什么时候生成?
当您在控制台或通过 Agent 停止某压测计划后,控制中心收到停止事件并自动生成报告,可在 压测报告 菜单查看。
如何做多节点压测?
- 创建多个压测节点并在不同机器部署 Agent
- 为每个节点创建独立测试计划(注意设备 ID 不要冲突)
- 分别启动各节点上的计划
- 使用 压测计划组 聚合查看总在线数与各节点贡献
OCPP 协议支持压测吗?
OCPP 1.6-J 与 云快充 1.6 均支持压测。创建压测计划时选择对应协议的虚拟设备配置即可;OCPP 计划需正确填写服务端 WebSocket 路径。
Agent 显示离线怎么办?
检查 securityKey / securityToken 是否正确、ctl.host 等连接参数是否可达,并查看 Agent 日志。节点离线期间无法下发启停指令。