Skip to content

ThingsBoard 压测(最新遥测) ​

正文与配图来自原稿。场景:压测 最新遥测(ts_latest) 写入能力。

1、需求 ​

公司领导要求压测一下 ThingsBoard 的最新遥测更新。ThingsBoard 的遥测数据分为最新遥测和遥测;在配置文件中,ts_latest 与 ts 的存储方式可以分别配置:

  • 量小:可存 PostgreSQL
  • 量大:可存 Cassandra
  • 也可交叉存储:例如最新遥测 ts_latest 存 PG,历史 ts 存 Cassandra

本次业务压的是最新遥测所落的数据库,因此创建了 1 万个设备,每个设备 82 个字段 进行压测。数据库服务器规格为 4 核 8G。

压测方式:while 死循环 + 多线程持续发送。队列瞬间可到几十万量级消息,ThingsBoard 再批量处理。整体表现很稳,没有明显异常;实际上更想验证的是数据库侧压力。压测结果见下图。

2、压测结果 ​

压测结果 1:

压测结果 1

压测结果 2:

压测结果 2

3、总结 ​

根据多年使用 TB 的经验:很多小公司做项目,接入几十到上百个设备,基本上没什么问题,不用过度担心——单节点跑这类规模通常也够用。


补充(辅) ​

  • 压测前先确认业务吃的是 ts_latest 还是历史 ts,以及实际落库是 PG 还是 Cassandra,避免测错存储路径。
  • 队列堆积高不代表一定丢数;要对照设备在线、规则链处理与库写入延迟一起看。
  • 本文为经验分享,不是完整压测报告;正式验收建议固定并发、字段数、上报周期与观察指标(CPU / 磁盘 IO / 队列 lag)。

相关文章 ​