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

Skip to content
On this page
技术
2024-8-1

单集群 100 节点!资源占用远小于 Grafana Mimir——GreptimeDB 海量数据写入性能报告

我们使用行业标准测试 Prometheus-Benchmark 进行了海量数据的写入性能测试,验证了 GreptimeDB 架构无限扩展的能力,对比同样基于对象存储的 Grafana Mimir 有 5 倍的资源消耗降低。

GreptimeDB 在行业标准测试 Prometheus-Benchmark 当中以 100 个 8c16g 规格节点的集群,在 datanode 峰值水位为 CPU 38%内存 40% 的负载下,承接了每秒约 4000 万点的写入流量。总体活跃时间线 6.1 亿条,每十分钟更新 615 万条时间线,在测试的 1.5 小时内均能稳定写入。

node exporter

测试结果说明 GreptimeDB 的架构设计能够支撑超大规模的数据集群,并且在同等规模集群下,GreptimeDB 的资源占用极低。对比同样适用对象存储的 Grafana Mimir,在处理同等规模的数据下,Mimir 需要消耗 5 倍以上的 CPU 和内存资源(基于 Mimir 测试报告折算)。

测试环境及工具

本轮测试中所使用的 Prometheus Benchmark 压测工具的相关关键参数及解释如下:

test tools

通过如上配置最终构建的理论数据产生速率约每秒 4160 万点。

测试环境中一共有两个集群,分别是上述的 Prometheus Benchmark 的压力集群和 GreptimeDB 的数据库集群。两个集群均在 AWS EKS 部署。其中,GreptimeDB 集群所使用的镜像版本为 v0.8.2 所涉及到的各组件的部署规格及数量如下表所示:

test environment table

GreptimeDB 集群的 WAL 组件为 AWS EBS;SST flush 以及 compaction 均基于 S3 完成。本地盘规格为 GP3,S3 为相同 Region 的 Standard 类别。在本次测试中不包含节点调度迁移等的情况,各个节点之间使用 Round-Robin Selector 均匀分配数据分区,一共有 200 个 Regions。

详细测试数据

写入吞吐

本次测试一共持续约 1.5 小时,总和写入量以及分节点的写入量监控数据如下,可以看到在 1.5 个小时内集群写入流量能一直稳定保持在每秒约 4000 万点的速率:

The write throughput of GreptimeDB

资源占用

对 GreptimeDB 集群水位进行观察,可以看到如下数据:

  • Datanode 的总和 CPU 使用率。总核数为 100 * 8c = 800c,峰值为 305,约占 38%。
Datanode's Total CPU Usage
  • Frontend 的总和 CPU 使用率。总核数为 50 * 8c = 400c,峰值为250,约占 63%。
Frontend's Total CPU Usage Chart
  • Datanode 的总和内存占用。总内存为 100 * 16GiB = 1600 GiB。峰值为640GiB,约占 40%。
Datanode's Total Memory Usage Chart
  • Frontend 的总和内存占用。总内存为 50 * 16GiB = 800 GiB。峰值为 110 GiB,约占 14%。
Frontend's Total Memory Usage Chart

存储写入流量

下图是 S3 写入流量的统计,带宽占用基本在 512 MiB/s 以下,最终一个半小时内的总写入量为 2.8 TiB。

S3 Write Throughput Statistics

而 WAL 组件观测到的写入流量约为 800 MiB/s。通过两张图的对比能够看到 GreptimeDB 对数据进行了有效压缩,压缩比达到 75%,降低了数据刷写流量。最终压测结束时 S3 的目录大小远小于 1 TiB。

WAL Write Size Chart

结语

100 个节点远远不是上限,本次测试验证了 GreptimeDB 架构无限扩展的能力,对比同样基于对象存储的 Grafana Mimir 有 5 倍的资源消耗降低。

下一步我们将进一步优化性能和测试,使 GreptimeDB 可承载海量时序指标数据的读写和分析。本次测试的版本是 v0.8.2, GreptimeDB 已发布 v0.9.0 版本,引入了日志引擎和全文检索能力,进一步优化了性能和稳定性,朝着成为一个融合 Metrics、Logs 和 Events 的统一时序数据库迈进了一大步,欢迎各位开发者测试使用。

关于 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/

性能报告
Mimir
scalability
benchmark

加入我们的社区

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