5.2 性能测试
背景
对于衡量网关的采集性能的指标,业内是没有具体的标准和规范的。
数据采集的效率受网络情况、设备数量、每个设备的采集变量数、设备配置的采集周期等影响。
本次测试根据以往项目经验下进行,尽量覆盖常规的使用场景。
结论
硬件采用IIoT-B100型号的硬件网关,搭载最新版本v0.8.1版本的网关程序。
采集100台设备,每台设备100个变量,共10,000变量,所有设备都实现了1.1秒的采集周期。
此时网关CPU占用36%,内存消耗253M,可见软硬件性能都有很丰富的的余量。
持续运行8小时后,cpu、内存基本无波动,cpu温度控制在47.7℃左右。
信息
千元级的网关中运行,能达到这样的性能是非常满意的。
测试环境
测试环境搭建如下图,共准备1台网关、2台PC。
+------- PC1 ------+ +------- PC2 ------+
| | | |
| +---- Emqx ----+ |-)))wifi(((-| +-- MQTT.fx ---+ |
+--- IIoT-B100 ---+ |-| mqttBroker | | |-| mqttClient | |
| | | +--------------+ | | +--------------+ |
| +-iotgateway--+ | | | | |
| | mqttclient |-| | +--- ModSim1---+ | +------------------+
---WAN--- | | | |-LAN-+-|10.10.0.11:502| |
| | modbusMaster|-| | +--------------+ |
| +-------------+ | | |
| 10.10.0.10 | | +--- ModSim-n--+ |
+-----------------+ |-|10.10.0.11:506| |
| +--------------+ |
| |
+------------------+
其中:
IIoT-B100网关运行采集程序,并将数据推送到PC1的emqx服务器。
PC1运行5个Modsim,模拟modbusTcp从站设备。
PC2运行MQTT.fx客户端,随机订阅一台设备数据,持续监控消息数量和时间。
测试结果
设备数 | 变量总数 | 总CPU | 程序内存 | 各设备周期 | 设定周期 |
---|---|---|---|---|---|
1 | 1 | 16% | 217M | 0.37ms | 0 |
1 | 50 | 14% | 242M | 15.16ms | 0 |
1 | 100 | 14% | 236M | 31.38ms | 0 |
1 | 500 | 11% | 260M | 136.46ms | 0 |
10 | 5000 | 45% | 233M | 350.67ms | 0 |
20 | 1000 | 77% | 280M | 547.36ms | 0 |
30 | 15000 | 80% | 305M | 1.059s | 0 |
31 | 3100 | 13% | 254M | 1.262s | 1s |
50 | 5000 | 16% | 237M | 1.362s | 1s |
100 | 10000 | 36% | 253M | 1.096s | 1s |
测试报告
测试报告源文件可以点这里 下载excel