欢迎参与 8 月 1 日中午 11 点的线上分享,了解 GreptimeDB 联合处理指标和日志的最新方案! 👉🏻 点击加入

Skip to content
On this page
性能报告
2024-11-22

资源有限,性能无限:GreptimeDB Edge 赋能车端数据处理新高度

本文将向大家展示 GreptimeDB Edge 在高写入负载下的性能数据和实际生产环境中的压缩率表现。

随着智能汽车行业的迅猛发展,车载数据量激增,对数据的存储、查询和管理提出了更高要求。面对这些挑战,我们提出了车云一体的解决方案,以实现更高效的车端数据管理与应用。在车云一体方案 中,GreptimeDB Edge 是专为车机设计的数据库,它针对存储和计算进行了优化,以极低的资源消耗实现高效的数据处理。这使得车机端可以充分利用车内的算力来开发应用,满足数据采集和计算的需求。此外,GreptimeDB Edge 支持高压缩率的数据文件同步至云端对象存储,供云端查询使用,显著降低了带宽流量费用。

在资源受限的车载环境中,尽管芯片算力不断提升,但分配给基础服务的资源依然十分有限,所以性能尤为关键。本文将向大家展示 GreptimeDB Edge 在高写入负载下的性能数据实际生产环境中的压缩率表现

📅 Greptime 首个线上发布会来袭,欢迎扫码预约。

(图 8 :直播预约)

测试环境

硬件平台

芯片内存大小
骁龙 829524 GB

软件版本

操作系统GreptimeDB
Android 12Edge v2.0

Edge 关键配置

  • 所有表都禁用 WAL(预写日志)。虽然 WAL 可以增强数据的可靠性,但其对磁盘 IO 的增加可能会加速磁盘磨损,从而缩短其使用寿命。对于重要的数据,我们可以开启 WAL 来增强数据可靠性。在性能测试中,为了优化 IO 性能,我们选择禁用 WAL。

  • 写入时,数据先写入内存中,并在内存中累积,当数据量达到设定的阈值时,会将数据刷写到磁盘。在性能测试中,我们限制单个表的内存使用量为 1 MB,所有表的总的内存使用为 50 MB

测试数据

  • 30 张表,每张表 10 个字段。

  • 字段类型有三种:int32, uint32, bool

  • 除了时间戳字段外,其余的字段均为 field,而非 tag

写入方式

  • 模拟一个写入程序,通过商用的 SDK(基于共享内存通信) 写入 GreptimeDB Edge。

  • 写入程序可以根据配置产生相应的写入负载。

测试报告

每秒 35w 点写入

在每秒 35w 点 的写入负载下,我们采集了 GreptimeDB Edge 在 30 分钟内的性能数据。GreptimeDB Edge 的 CPU 使用率平均 单核 3%,峰值未超过 15%。在内存使用方面,GreptimeDB Edge 的常驻内存大小(Resident Memory Size)在 120 MB166 MB 之间波动,平均为 132 MB。具体数据如下所示,供大家参考:

写入速率(约 35w 每秒)

(图 1 :写入速率)

avgminmax
cpu3%0%12%
res(Resident Memory Size)132 MB120 MB166 MB

CPU Usage 折线图

(图 2 :CPU Usage 折线图)

内存(Resident Memory Size)折线图

(图 3 :Resident Memory Size 折线图)

每秒 70w 点写入

在每秒 70w 点的写入负载下,我们采集了 GreptimeDB Edge 在 30 分钟内的性能数据。GreptimeDB Edge 的 CPU 使用率平均 单核 5.7%,峰值未超过 **15%。在内存使用方面,GreptimeDB Edge 的常驻内存大小(Resident Memory Size)在 130 MB150 MB 之间波动,平均为 135 MB。具体数据如下所示,供大家参考:

写入负载

(图 4 :写入负载)

avgminmax
cpu5.7%0%12%
res(Resident Memory Size)135 MB130 MB141 MB

CPU Usage 折线图

(图 5 :CPU Usage 折线图)

内存(Resident Memory Size)折线图

(图 6 :Resident Memory Size 折线图)

压缩率

除了 CPU 和内存,压缩率也是一个非常重要的指标。高效的数据压缩能够显著减少网络流量和数据传输成本,另一方面,数据可以在本地存储更长的时间,换句话说,存储相同的数据可以节省磁盘空间。压缩率的高低与数据特征息息相关。GreptimeDB 车云方案已成功应用于某新能源车企,性能表现优异。在本节中,我们将展示 GreptimeDB Edge 在实车中的压缩率表现。

先简单介绍一下业务场景:

  • 我们在车载信息娱乐系统(HU)中集成了一个完整的数据库 GreptimeDB Edge,以系统服务的形式运行。

  • 企业自主开发的服务负责收集车辆的 CAN 信号。该服务利用基于共享内存通信的 SDK,将收集到的 CAN 信号高效地写入 GreptimeDB Edge 中。写入速率约为 25w 点每秒

  • 3 分钟进行一次数据导出,并且上传,导入云端的 GreptimeDB 集群。

  • 其他

    • 芯片:骁龙 8295
    • 系统:Android 12

我们采集了 30 分钟左右的 GreptiemDB Edge 导出的数据。

  • 总计导出 10 个文件,总大小 42 MB
  • 对应的 ASC 格式的文件大小为 1.3GB

ASC log format 是 Vector 公司提供的一种用于记录和分析 CAN 总线数据的 ASCII 文本文件格式。具体可参阅:CAN_LOG_TRIGGER_ASC_Format.pdf

综上:GreptimeDB Edge 相较于传统的 ASC 文件格式,实现了 30 至 40 倍的压缩率。与车企之前采用的方法相比,压缩率提高了一倍,有助于车企实现成本控制与效率提升。

GreptimeDB Edge 采用列式存储布局,并能够根据数据特性在列维度上选择最合适的编码和压缩算法

值得注意的是,CPU内存压缩率之间存在一个典型的权衡关系。在实际应用中,我们需要根据不同的场景和需求进行一些参数调整。例如,为了提高压缩率,可能需要消耗更多 CPU 和内存资源。反之,如果目标是降低 CPU 的使用率,则可能会牺牲一些内存和压缩效率。

总结

测试结果表明

  • GreptimeDB Edge 在面对高写入负载时拥有良好的性能。在 35w 点每秒 以及 70w 点每秒的写入负载下,GreptimeDB Edge 的 CPU 使用率均值分别为 单核 3%5%峰值均未超过 15%。常驻内存大小在 130MB 左右。CPU 使用率和内存占用非常平滑。这些都促使 GreptimeDB Edge 能够在不影响整体系统性能的前提下,高效地处理大量数据,从而成为一个可靠的车端数据中心解决方案

  • 在真实车企的场景下,我们探讨了 GreptimeDB Edge 针对 CAN 数据的压缩率,相较于 ASC 文件,实现了 30 至 40 倍的压缩率。与车企之前的方案相比,压缩率提高了一倍,助力企业降本增效。

未来,我们将持续优化 GreptimeDB Edge 的性能,为新能源和智能汽车产业的创新贡献更多技术支持。

更多 Greptime 相关测试报告详见 :

性能报告将不断迭代,欢迎大家持续关注。

✒️ GreptimeDB Edge 2.0 车端多模态数据库线上发布会来了!更多信息请看👇海报

(图 7 :海报)

关于 Greptime

Greptime 格睿科技专注于为可观测、物联网及车联网等领域提供实时、高效的数据存储和分析服务,帮助客户挖掘数据的深层价值。目前基于云原生的时序数据库 GreptimeDB 已经衍生出多款适合不同用户的解决方案,更多信息或 demo 展示请联系下方小助手(微信号:greptime)。

欢迎对开源感兴趣的朋友们参与贡献和讨论,从带有 good first issue 标签的 issue 开始你的开源之旅吧~期待在开源社群里遇见你!添加小助手微信即可加入“技术交流群”与志同道合的朋友们面对面交流哦~

Star us on GitHub Now: https://github.com/GreptimeTeam/greptimedb

官网:https://greptime.cn/

文档:https://docs.greptime.cn/

Twitter: https://twitter.com/Greptime

Slack: https://greptime.com/slack

LinkedIn: https://www.linkedin.com/company/greptime/

性能报告
车云一体
边缘设备

加入我们的社区

获取 Greptime 最新更新,并与其他用户讨论。