Skip to content

性能测试

性能验证包括 Atlas 数据采集性能测试、Atlas 数据下发性能测试及采集数据的存储性能测试等;在测试过程中同步进行功能验证,包括规则引擎、边缘计算及云边协同监控等功能;在测试过程中持续监控设备连接数,连接稳定性,消息的成功率,CPU,网络 IO,内存情况等,详细测试场景如下。

测试场景

根据客户实际需求,规划了以下测试场景:

数据采集测试一

模拟设备数量每个设备数据标签数量采集频率总数据标签数
500301s15000

Atlas 通过 Modbus TCP 协议,模拟连接 500 台设备,每台设备采集 30 个数据标签,采集频率为 1 秒一次,总计 Atlas 每秒采集 15000 个数据标签。

数据采集测试二

模拟设备数量每个设备数据标签数量采集频率总数据标签数
500300.5s15000

Atlas 通过 Modbus TCP 协议,模拟连接 500 台设备,每台设备采集 30 个数据标签,采集频率为 0.5 秒一次,总计 Atlas 每 0.5 秒采集 15000 个数据标签位。

数据下发测试一

设备数量单设备下发数据标签数总计下发数据标签数下发方式
15050Atlas API

Atlas 通过 Modbus TCP 协议,模拟连接 1 台设备,通过 Atlas API 接口向设备写入 50 个数据标签,测试完成数据下发总计时间。

数据下发测试二

设备数量单设备下发数据标签数总计下发数据标签数下发方式
450200Atlas API

Atlas 通过 Modbus TCP 协议,模拟连接 4 台设备,通过 Atlas API 接口向设备总计写入 200 个数据标签,测试完成数据下发总计时间。

批量写入 TDengine 测试

模拟 Atlas 采集 100 个设备的数据,每个设备包含 100 个数据标签,每秒上报共 10000 个数据标签到下游 MQTT Broker 与规则处理链路,并将以上数据实时写入 TDengine。

测试架构

测试资源

Modbus 模拟器模拟现场 PLC 设备,Atlas 通过 Modbus TCP 连接模拟器,Atlas 采集到数据后通过 MQTT 协议发送至下游 MQTT Broker,随后由 Broker 侧的数据处理链路写入 TDengine。

所使用的 Atlas、下游 Broker 服务、Modbus 模拟器资源如下:

服务1: 笔记本电脑

  • Modbus 模拟器
  • JMeter 软件

服务2: Linux 服务器 4C/16G

  • Atlas V2.2.1
  • MQTT Broker 服务
  • TDengine 数据库
  • 云边协同管理软件

测试架构图

Simulation

测试工具

Modbus 模拟器

PeakHMI Modbus TCP slave simulator,是一款功能齐全、性能优秀的 Modbus 模拟器。

性能测试工具 JMeter

性能测试工具 JMeter 是一款基于 Java 的压力测试工具。它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。

测试结论及报告

数据采集测试一

Atlas 通过 Modbus TCP 协议,模拟连接 500 台设备,每台设备采集 30 个数据标签,采集频率为 1 秒一次,总计Atlas 每秒采集 15000 个数据标签。

  • Atlas 采集程序 CPU 使用率约为 124.3%,内存使用率约为 0.6%
  • 服务器资源 CPU 空闲在 55% 左右,内存空闲在 9.8G 左右。

Test1

数据采集测试二

Atlas 通过 Modbus TCP 协议,模拟连接 500 台设备,每台设备采集 30 个数据标签,采集频率为 0.5 秒一次,总计 Atlas 每 0.5 秒采集 15000 个数据标签。

  • Atlas 采集程序 CPU 使用率约为111.3%,内存使用率约为 1.1%
  • 服务器资源 CPU 空闲在 35% 左右,内存空闲在 9.5G 左右。

Test2

数据下发测试一

Atlas 通过 Modbus TCP 协议,模拟连接 1 台设备,通过 Atlas API 接口向设备写入 50 个数据标签,测试完成数据下发总计时间。 Atlas 对 1 个设备下发50个数据标签,最大响应时间 159 毫秒,最小响应时间 3 毫秒,平均响应时间 91 毫秒,总计耗时 159 毫秒。

Test3

数据下发测试二

Atlas 通过 Modbus TCP 协议,模拟连接 4 台设备,通过 Atlas API 接口向设备总计写入 200 个数据标签,测试完成数据下发总计时间。 Atlas 对 4 个设备下发共计 200 个数据标签,最大响应时间 107 毫秒,最小响应时间 3 毫秒,平均响应时间 52 毫秒,总计耗时 107 毫秒。

Test4

批量写入 TDengine 测试

模拟 Atlas 采集 100 个设备的数据,每个设备包含 100 个数据标签,每秒上报共 10000 个数据标签到下游 MQTT Broker 与规则处理链路,并将以上数据实时写入 TDengine。

  • Broker 服务 CPU 使用率约为 91.2%,内存使用率约为 1.2%
  • 服务器资源 CPU 空闲在 13% 左右,内存空闲在 156M 左右。

Test5