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 采集实例预留容量。生产环境还应结合日志处理规则复杂度、发送端批量参数、网络带宽和后端写入能力保留冗余。