聊聊时序数据存储系统的容量管理

本文介绍了百度Noah平台时序数据存储系统(TSDB)的容量管理,包括容量度量和规划。TSDB系统承载万亿级监控数据,通过压测和容量估算获取系统容量,使用PPS作为QPS指标。容量规划则基于历史流量增幅和冗余度要求,以应对业务快速增长。容量管理对于系统的稳定性和高可用性至关重要。
摘要由CSDN通过智能技术生成

640?wx_fmt=gif

作者简介

姜泽    百度高级运维工程师

640?wx_fmt=png

负责百度智能运维产品(Noah)的运维工作,在可用性建设,容量管理方面有着丰富的实践经验。



干货概览

容量管理是系统可用性运维的重要环节之一。通常来说,容量管理包含容量度量、容量规划和过载保护三个过程。容量度量首先要确定系统容量的衡量标准,通过一定方法得到各模块的流量承载能力(包括额定负载、极限负载和冗余度),从而得到系统整体容量。容量规划是基于SLA可用性要求,确定资源在时间上的需求规划。过载保护是根据容量衡量和规划结果进行的外围系统设计,以保障业务在满足SLA的前提下,稳定处理高于额定负载的请求。

百度Noah平台的时序数据存储系统(TSDB),承载了百度诸多核心业务的监控数据存储与查询需求,日均写入点数以万亿记,查询请求高达数十亿次。在如此大的请求场景下,建设一套完善的容量管理机制,有效的度量TSDB系统的容量能力,合理规划系统容量发展,及时发现系统的容量风险,有效应对容量过载场景,是非常困难又非常重要的。本文主要介绍TSDB系统容量度量、容量规划方面的内容。在接下来的后续文章中会详细介绍过载保护方面的一些实践。

容量度量--容量管理的基础

1设定容量指标

容量是系统对业务承载能力的量化,一般我们使用可量化的性能指标来衡量系统的容量。通常来说有下面三种:

  1. 吞吐量(Throughput):指系统单位时间内处理的请求总数。请求可以是读写请求,也可以是数据处理请求,对应着QPS(Query Per Second)和RPS(Request Per Second)两类;

  2. 并发数(Concurrency):同一时间内能够处理的请求数目;

  3. 系统延迟(Latency):指系统完成一个请求所花费的时间。

在多并发系统中,可以把这三者的关系简化为:吞吐量=并发数/系统延迟。对于单并发系统,吞吐量就是系统延迟的倒数。

至于具体使用哪一个性能指标来衡量系统容量能力,需要根据不同的业务场景来判断。在多数场景下,我们考量的都是吞吐量(QPS或RPS),当然对于实际的业务场景,QPS、RPS的定义会略有区别。在Noah监控场景下,主要是监控数据(时序数据)的写入和查询,每个请求会对应多个itemCollection,而一个itemCollection中带有多个监控数据点。因此,我们使用PPS(Point Per Second)作为TSDB系统的QPS指标来衡量系统的容量能力。

2获取容量数据

获取容量数据的方法有容量估算和压测两种。容量估算指通过各子模块的运行指标,使用资源建模计算的方式汇聚计算出全系统的容量数据。例如下图,模块A为整个系统的入口模块,入流量为x,他有两个下游B和C,分别承载y和z的流量。首先,通过资源消耗(瓶颈资源)与流量的折算关系估算出每个模块的容量分为X,Y,Z,例如在资源消耗50%的时候,流量是1KQPS,可以预测系统达到极限负载的情况下容量为2KQPS(只考虑系统为线性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值