快速结论:建筑物联网容量需要分别观察属性摄入、历史落库、订阅推送和业务查询。本文整理2026-08-25至26日的IoServer Plus .NET组件隔离测试:每秒约1万属性的摄入与末值校验已有记录,历史存储及订阅尾延迟存在独立限制。各轮构建与条件分列,供容量选型和复测参考。
建筑物联网容量需要分别观察属性摄入、历史落库、订阅推送和业务查询。本文整理2026-08-25至26日的IoServer Plus .NET组件隔离测试:每秒约1万属性的摄入与末值校验已有记录,历史存储及订阅尾延迟存在独立限制。各轮构建与条件分列,供容量选型和复测参考。
| 项目 | 已记录条件 |
|---|---|
| 第一轮 · 2026-08-25 | Release构建f18ab6fe;i7-13700F(16核24线程)、32GB;.NET组件、MySQL 8、Mosquitto、SQLite与Parquet。 |
| 第二轮 · 2026-08-26 | 隔离导出树72aa9d69,包含2d59d211鉴权修正;TDengine对照轮单独追加34276054,不与其他轮次混用。 |
| 数据夹具 | 第一轮4000台MQTT模拟设备×5属性、4个合成网关;第二轮另加2000台直采设备×5属性,形成10000行点位映射。 |
| 主度量 | 第一轮属性总线按完整约60秒窗口统计;末值核对逐个比较20000项属性。第二轮另外观察总线计数、订阅、API与历史记录。 |
| 适用范围 | 测试针对当时的.NET组件构建,不代表Java业务平台或全部BIOT版本;操作系统、Broker完整版本和重复运行分布未在原报告完整记录。 |
| 目标负载 | 实际消费 | 校验与观察 |
|---|---|---|
| 1000属性/秒 | 1001事件/秒 | 总线丢弃计数0;20000/20000末值一致。 |
| 5000属性/秒 | 4999事件/秒 | 总线丢弃计数0;20000/20000末值一致。 |
| 10000属性/秒 | 9997事件/秒 | 总线积压峰值4;20000/20000末值一致。 |
| 20000属性/秒 | 20005事件/秒 | 总线积压峰值67;20000/20000末值一致。 |
| 40000属性/秒 | 27375事件/秒 | 生成器40001/秒;停止加压后42.4秒排空,再核对20000/20000末值一致。 |
以上为第一轮数据。超载轮出现发送与消费速率差,Broker承担积压;“总线丢弃计数0”和“末值一致”不能替代中间每条样本的持久化核验。
第二轮负载为10000属性/秒,持续1860秒,同时运行32路WebSocket订阅(每路256键、30秒心跳)、8个读侧并发用户及历史变化记录。
| 观察项 | 实测记录 |
|---|---|
| 属性与末值 | 总线丢弃累计60→60,新增0;20000/20000末值一致。 |
| 连接与请求 | 32路订阅无掉线;141093次API请求中5xx为0。 |
| 内存 | 进程工作集508.8→峰值758.8→结束619.6MB;末10分钟斜率约−11.96MB/分钟。该窗口未见持续增长,不能证明任意时长无泄漏。 |
| 订阅延迟 | P50为304ms,P95为34.9秒、P99为44.4秒。连接在线不能代表低延迟,尾延迟需要独立验收。 |
| 历史与恢复 | 历史耐久队列积压峰值120832;满载下记录器停止/启动耗时12–15秒。 |
| 测试条件 | 结果与含义 |
|---|---|
| SQLite,第二轮总线满载 | 当时环境中的历史写入约300条/秒;超出处理能力时记录显式拒收或积压,需按记录模式核对。 |
| TDengine 3.3.6.13,修复后定时10秒记录 | 总线输入10000属性/秒,对应历史实际447条/秒,报告核对该档落库100%、拒收0。并不等于每秒1万条历史写入。 |
| 查询并发,10000行点位映射 | 32并发批量查询P50为1164–1233ms,P95为1291–1373ms;与映射表为空时的数据不可直接互换。 |
资料整理:南京古河软件 · 内容复核:2026-09-27。依据2026-08-25《物联中心并发能力L4验收报告》、2026-08-26优化与第二轮测试报告整理。本文是历史实验记录复核,本次未重新压测;未公开内部地址、凭据或原始运行日志。