Categraf 资源占用参考

整理 Categraf 在基础指标采集和日志高吞吐采集场景下的资源占用测试数据,供部署规划和容量评估参考。

简介

本文整理 Categraf 在两个典型场景下的资源占用数据:

  • 基础指标采集:采集 CPU、内存、磁盘、网络、进程数等基础指标,指标量 140+。
  • 日志高吞吐采集:模拟单条 700B 的 Trace/Log 数据落盘,由 Categraf 采集并发送到后端。

测试数据用于部署规划时做参考。实际资源占用会受到采集插件数量、采集频率、日志大小、日志处理规则、发送端参数、磁盘性能和后端吞吐能力等因素影响,生产环境建议结合真实业务流量做压测。

基础指标采集

测试环境为 4C/8G 机器,采集 CPU、内存、磁盘、网络、进程数等基础指标,共 140+ 指标。

采集器 CPU 内存占用(MB) 进程数
categraf <1% 85.7 1
categraf-slim <1% 45.2 1

从基础指标采集场景看,Categraf 的 CPU 占用低于 1%,常规版本内存占用约 86MB,categraf-slim 版本约 46MB。只采集指标且不需要 logs-agent、prometheus-agent 等能力时,可以评估使用 categraf-slim。

日志高吞吐采集

该场景用于评估 Categraf 在日志/Trace 高吞吐场景下的采集和写入能力。压测目标为峰值 20w TPS 写入,预估 Trace + Log 每天约 10T 数据。

数据集

  • 模拟峰值 20w 条 Trace 数据写入。
  • 单条 Trace 数据约 700B。
  • Trace、Log 本质上都按日志数据处理,因此统一按 Trace 日志数据进行测试。

压测条件

项目 内容
Categraf 版本 ent-v0.3.96
采集端资源 8C/16G/2T NVMe * 5
测试方式 模拟程序 Trace 日志落盘,Categraf 采集日志并发送到后端

压测结果

项目 结果
单机采集能力 约 56k TPS
CPU 占用 约 2C 到 3C
内存占用 约 300MB 到 500MB

从压测结果看,在日志采集场景里,单个 Categraf 实例可达到约 56k TPS 的采集发送能力。按照 20w TPS 峰值规划时,建议至少按 5 个 8C/16G/2T NVMe 采集实例预留容量。生产环境还应结合日志处理规则复杂度、发送端批量参数、网络带宽和后端写入能力保留冗余。

更新时间 2024-09-20

快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云