新闻详情

新闻详情

首页 / 资讯中心 / 详情

Grafana Tempo 集群容量规划:基于摄入速率与保留期的组件级资源估算指南

发布时间:2026/9/18 13:50:22来源:尧图网络
Grafana Tempo 集群容量规划:基于摄入速率与保留期的组件级资源估算指南
Grafana Tempo 集群容量规划基于摄入速率与保留期的组件级资源估算指南【免费下载链接】tempoGrafana Tempo is a high volume, minimal dependency distributed tracing backend.项目地址: https://gitcode.com/GitHub_Trending/tempo1/tempoGrafana Tempo 集群的资源需求取决于数据的处理量、摄入速率、保留期与查询负载。本文以 Size the cluster 文档为骨架结合仓库内组件架构文档distributor、live-store、block-builder与 deployment-modes 参考文档 进行纵深扩充提供可落地的估算方法与各组件的参考规格帮助你为自身部署做初步容量规划。影响集群规模的核心因素集群规模主要由四类指标共同决定摄入速率每秒接收的 span 数量spans/s与对应字节吞吐MB/s平均 span 大小单个 span 的字节数直接决定内存与存储占用查询负载查询频率、TraceQL 搜索范围与时间窗口大小保留期N 天的数据保留时长决定了对象存储容量与压实compaction工作量。此外追踪埋点tracing instrumentation的质量同样影响资源需求——span 划分的粒度、span 长度以及附加属性attributes的数量都会线性放大存储与查询成本。建议参考仓库中的 Best practices在埋点阶段就控制 span 数量与属性规模。注意Tempo 处于持续演进中以下数字是起步基线会随每次发布而调整。请始终以当前版本的官方文档与实际压测结果为准。从 Deployment modes 可知Tempo 通过-target参数或配置中的target决定运行模式-targetall为单体模式monolithic各组件则通过独立的-target如-targetdistributor、-targetquerier以微服务模式运行。容量规划的第一步就是明确部署模式因为两种模式对组件资源的需求结构完全不同。影响组件资源需求的两大部署模式在进入逐组件估算之前需要先理解两种模式对资源规划的根本性差异详见 Deployment modes考量维度单体模式monolithic微服务模式microservicesKafka 依赖不需要需要 Kafka 兼容系统如 Apache Kafka、Redpanda、WarpStream扩展方式单进程垂直扩展各组件独立水平扩展故障隔离所有组件共享资源池每个组件独立故障域运维复杂度低较高需管理更多进程适用场景起步、开发、25-35 MB/s 以下生产、高吞吐、高可用单体模式的资源陷阱所有组件共用一个资源池查询负载尖峰会影响写入吞吐反之亦然随着吞吐上升live-store 与 querier 内存压力叠加可能导致 OOM详见 deployment-modes 参考文档 中的资源考量一节。因此在单体模式下实例内存必须同时满足 live-store 的内存 trace 缓冲、querier 的并发任务执行以及 backend worker 的块合并内存最终以最吃资源的那个组件为上限。微服务模式的优势每个组件可以按需独立扩展——block-builder 决定写入吞吐、querier 决定查询性能、live-store 决定近期数据容量每个组件恰好获得所需资源避免单体模式下的过度配置。组件级参考规格示例基线以下为官方文档给出的起步基线适用于微服务模式下的各组件独立部署单位基于每秒摄入的流量估算。Distributor分发器副本数每 10MB/s 接收流量配置 1 个副本CPU2 核内存2GB从源码架构看distributor 是所有 trace 数据的入口负责接收埋点数据并同步执行摄入校验与限流distributor.md。微服务模式下校验通过后按 trace ID 哈希分片写入 Kafka并等待 Kafka 确认后才向客户端返回成功——这意味着网络往返与 Kafka 写入延迟直接计入请求处理时间副本数按流量线性扩容即可因为它是无状态stateless组件。Live-store实时存储副本数每 6-10MB/s 接收流量配置 1 个副本CPU1 核内存4-20GB取决于 trace 组成典型做法跨多个可用区availability zone部署以实现高可用live-store 负责在内存中保存近期 trace填补数据写入 Kafka 到 block-builder 刷入对象存储之间的查询空窗live-store.md。它按 trace ID 在内存中组装 tracemax_trace_idle默认 10s决定 trace 空闲多久后被刷入本地 WALlive_store: max_trace_idle: 10s调大该值会让 trace 在内存停留更久、提升同批刷盘的概率但直接推高内存占用——这也是内存范围4-20GB跨度巨大的原因。若某个 trace 的 span 持续到达长时运行 trace内存占用会显著上升。可用区部署要点每个 Tempo 分区在每个可用区有且仅有一个 live-store 归属。查询端querier对每个分区只需一个 live-store 响应读仲裁数为 1因此只要至少一个可用区健康查询即可成功无需在读取路径做数据去重。缩容时须先将分区标记为 inactive只读等待数据刷入对象存储后再移除实例直接摘除 live-store 会导致该分区近期数据暂时不可查。Block-builder块构建器副本数每分区 1 个副本CPU0.5 核内存5-10GB取决于 trace 组成block-builder 是写入路径组件从 Kafka 消费数据并按租户组织成 Parquet 块上传对象存储block-builder.md。副本数受 Kafka 分区数上限约束——block-builder 采用静态分区分配最大实例数等于 Kafka 分区数可通过partitions_per_instance默认配合 StatefulSet 与 live-store 同步扩缩或assigned_partitions显式映射分配分区。内存构成分析内存主要用于当前消费周期内的 span 缓冲与 Parquet 块构建。临时磁盘scratch disk需至少容纳一个完整消费周期内所有分配分区与租户的数据量规划时勿忽略磁盘。去重开销每个消费周期 block-builder 会回退到上次提交的 Kafka offset 重放数据因此构建块时会按 span ID span kind 组合去重可用tempo_block_builder_spans_deduped_total指标按 tenant 标记观察去重量。重复消费比例越高去重 CPU 开销越大。Querier查询器副本数每 1-2MB/s 接收流量配置 1 个副本CPU取决于 trace 大小与查询模式内存4-20GB取决于 trace 组成与查询该副本数针对典型搜索模式与时间范围表现良好可按具体工作负载上下调整querier 需要从对象存储读取并合并来自多个 block 的 span 以完成 trace 组装硬切周期内跨周期的 trace 会被拆到不同 block查询时合并因此trace 越大、查询并发越高CPU 与内存需求越高。内存范围跨度大是因为大 trace 的合并操作会一次性占用较多内存。Query-Frontend查询前端副本数2 个高可用CPU取决于 trace 大小与查询内存4-20GB取决于 trace 大小与查询query-frontend 负责接收查询请求、切片与编排。保持 2 个副本即可扩展方向是垂直扩容提升 CPU/内存而非增加副本数——这是 deployment-modes 参考文档中明确给出的扩展策略。Backend-scheduler后端调度器副本数1 个同一时间只能运行一个调度器CPU0.5 核内存1-2GBbackend-scheduler 是单例组件——这也是为何单体模式运行多个-targetall实例不受支持高可用需切到微服务模式。多副本会导致调度冲突规划时必须保证同时只有一个调度器在运行。Backend-worker后端工作节点副本数根据压实compaction工作负载确定暂未给出固定公式CPU0.5 核内存1-2GBbackend-worker 承担压实与保留策略执行。其规格与 block 数量、压实滞后compaction lag强相关保留期越长、block 越多需要的 worker 就越多。作为起步可先按 0.5 核 / 1-2GB 配置再依据compaction lag相关指标水平扩容。将估算映射到部署模式与组件清单规划时可借助 deployment-modes 参考文档 中的组件 × 部署模式清单核对block-builder、ingest配置块仅在微服务模式使用distributor、live-store、query-frontend、querier、backend-scheduler、backend-worker 在两种模式中都存在但微服务模式下各自独立成进程。估算时应按部署模式筛选组件避免为单体部署分配不必要的 Kafka 与 block-builder 资源。性能调优资源完成初步容量规划后可参考以下文档进一步调优集群监控 Tempo围绕各组件关键指标如tempo_distributor_spans_received_total、tempo_live_store_traces_created_total、tempo_block_builder_flushed_blocks等建立监控大盘验证容量假设调优搜索性能针对 TraceQL 搜索场景调整查询路径通过缓存提升性能为对象存储读取与查询结果增加缓存降低查询侧资源消耗专用属性列dedicated columns将高频过滤的属性提升为专用列加速查询并降低扫描成本。更高级的系统选项如分区环管理、zone-aware live-store、Kafka 配置等可参考 Manage advanced systems。容量规划实操清单估量数据量统计每秒 span 数与平均 span 字节数估算摄入 MB/s确定保留期明确 N 天保留期估算对象存储总量与压实负载选择部署模式25-35 MB/s 以下且追求运维简单可考虑单体生产高可用、高吞吐选择微服务按组件逐项套用基线用上文的副本数/CPU/内存基线起步再按实际查询模式与 trace 特征修正尤其关注 live-store 与 querier 的 4-20GB 大跨度内存区间部署后持续验证通过监控指标摄入速率、Kafka 分区滞后、查询延迟、压实滞后迭代调整基线仅是起点而非终点。【免费下载链接】tempoGrafana Tempo is a high volume, minimal dependency distributed tracing backend.项目地址: https://gitcode.com/GitHub_Trending/tempo1/tempo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Ionic Framework 手风琴(Accordion)无障碍指南:屏幕阅读器朗读行为对比与源码实现解析 2026/9/18 14:38:31

Ionic Framework 手风琴(Accordion)无障碍指南:屏幕阅读器朗读行为对比与源码实现解析

Ionic Framework 手风琴(Accordion)无障碍指南:屏幕阅读器朗读行为对比与源码实现解析 【免费下载链接】ionic-framework A powerful cross-platform UI toolkit for building native-quality iOS, Android, and Progressive Web Apps with H…

阅读更多 →
OpenVLA 在昇腾 310P 的离线推理与仿真部署指南:ONNX 导出、OM 转换与精度验证全流程 2026/9/18 14:38:31

OpenVLA 在昇腾 310P 的离线推理与仿真部署指南:ONNX 导出、OM 转换与精度验证全流程

OpenVLA 在昇腾 310P 的离线推理与仿真部署指南:ONNX 导出、OM 转换与精度验证全流程 【免费下载链接】cann-recipes-embodied-ai 本项目针对具身智能业务中的典型模型、加速算法,提供基于CANN平台的优化样例 项目地址: https://gitcode.com/cann/cann…

阅读更多 →
StarRocks cosine_similarity_norm 函数:面向预归一化向量的余弦相似度计算与源码实现解析 2026/9/18 14:38:31

StarRocks cosine_similarity_norm 函数:面向预归一化向量的余弦相似度计算与源码实现解析

StarRocks cosine_similarity_norm 函数:面向预归一化向量的余弦相似度计算与源码实现解析 【免费下载链接】starrocks The worlds fastest open query engine for sub-second analytics both on and off the data lakehouse. With the flexibility to support near…

阅读更多 →
前端JS防调试实战:6层干扰策略提升逆向成本 2026/9/18 14:38:31

前端JS防调试实战:6层干扰策略提升逆向成本

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
新能源汽车CAN总线ECU在线刷写系统设计与实现 2026/9/18 14:38:31

新能源汽车CAN总线ECU在线刷写系统设计与实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
常用linux命令(更新中...)自用记录 2026/9/18 14:35:30

常用linux命令(更新中...)自用记录

常用命令(右边侧栏可以查看目录) 查看 #查看ip地址ip aip addr #查看系统时间date # 重启reboot # 注销logout # 关机shutdown now #清屏clear #另起一行,输入其他指令,跳出上一个运行中的指令,把上一个运行程序放到后…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞