我的系统性能一直存在问题,我正在使用 v3.63PE 版本(最新版本)。如果我使用时间序列小部件并从设备调用 10,000 个数据点,则需要超过 30 天。系统完全挂起。但如果我从 10 个设备调用 10,000 个数据点(每个设备 1000 个),数据返回得相对较快。时间序列图表也是即时的,显示大量数据。奇怪的是,表格和旅行动画小部件显示数据的速度非常慢。 我不清楚 Cassandra 和 TB 中用于尽快检索数据的配置选项。 从本质上讲,从 Cassandra 中提取数据的整个过程似乎非常缓慢,即使它是单个遥测字段。
拉取超过 10,000 条遥测数据将使系统崩溃。 该系统拥有64GB RAM和8核处理器,因此有充足的可用资源。 系统的所有资源似乎都没有得到充分利用,但 TB 却在苦苦挣扎。 有人解决过类似的性能问题吗? 我还可以添加 thingsboard.conf 参数来提高性能吗?
这不是一个解决方案,而是几个尝试步骤。
值得尝试不同的分区配置和页面大小。默认情况下,thingsboard 使用 MONTHLY 分区,您可以将其更改为 DAYS 或其他支持的值并检查。
default_fetch_size参数决定从Cassandra获取数据时页面的大小,默认值为2000条记录,您可以尝试更改它并观察。
此外,如果您可以修改源代码,您可以添加自定义分区逻辑,例如每周或每两周一次。