Skip to content

模拟海量设备压测

云桩通提供「控制中心 + 压测节点(Agent)」分布式压测方案:在您的服务器上部署 Agent,于内网模拟大量**云快充(YKC 1.6)**或 OCPP 1.6-J 设备连接充电平台,配合控制台完成启停、实时监控、时序分析与压测报告,适用于充电平台容量评估与协议联调。

协议支持情况

协议模拟设备调试模拟设备压测
云快充 1.6
OCPP 1.6-J

模拟设备调试请先阅读 快速开始。本文聚焦压测完整流程。

架构说明

本系统为控制中心,压测节点需运行在您自己的服务器或电脑上。控制中心负责创建压测计划、下发启动/停止指令、采集指标与生成报告。Agent 与协议服务器可在内网通信,避免公网带宽成为瓶颈,并可按设备规模横向扩展多个压测节点。

01-architectureDiagram.png

00-architectureDiagram.png

快速上手(6 步)

步骤 1:创建虚拟设备配置

压测计划需绑定虚拟设备配置(协议行为、枪数量、充电参数等)。在控制台打开 虚拟设备 → 虚拟设备配置,新增配置并选择 YKC1.6OCPP1.6-J

步骤 2:创建压测节点

打开 虚拟设备 → 压测节点,点击 新增,填写节点名称并保存。系统会生成节点 ID 与 Token,用于 Agent 认证。

创建压测节点

步骤 3:部署压测 Agent

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

压测节点列表与 Agent 启动命令

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

压测节点实时状态

Agent 部署方式见下文 Agent 部署详解

步骤 4:创建压测计划

打开 虚拟设备 → 测试计划,配置:

配置项说明
服务端 IP / 端口目标充电平台协议服务器地址
虚拟配置步骤 1 中创建的配置
设备数量本计划模拟的设备总数
设备编码顺序编码或自定义编码
启动间隔每个设备依次上线的间隔(毫秒)

创建压测计划

步骤 5:启动压测

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

启动压测计划

步骤 6:观测、停止与报告

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

压测监控大屏

Agent 部署详解

以 JAR 包启动

点击获取节点 JAR 包

shell
java -jar \
  -DsecurityKey=您的节点ID \
  -DsecurityToken=您的节点Token \
  ruoyi-device-agent.jar

以 Docker 启动(可选)

镜像版本以控制台「查看启动命令」中显示的为准,示例:

shell
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

02-node-list-command.png

启动参数说明

参数含义默认值
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 停止某压测计划后,控制中心收到停止事件并自动生成报告,可在 压测报告 菜单查看。

如何做多节点压测?

  1. 创建多个压测节点并在不同机器部署 Agent
  2. 为每个节点创建独立测试计划(注意设备 ID 不要冲突)
  3. 分别启动各节点上的计划
  4. 使用 压测计划组 聚合查看总在线数与各节点贡献

OCPP 协议支持压测吗?

OCPP 1.6-J云快充 1.6 均支持压测。创建压测计划时选择对应协议的虚拟设备配置即可;OCPP 计划需正确填写服务端 WebSocket 路径。

Agent 显示离线怎么办?

检查 securityKey / securityToken 是否正确、ctl.host 等连接参数是否可达,并查看 Agent 日志。节点离线期间无法下发启停指令。