降本九成,提效十倍 统一资源池重塑CLS规模红利 zlinzlin(林兆祥) 腾讯云CLS日志引擎研发负责人T13工程师2024-06-14 1.百PB规模日志业务挑战及应对 成本、检索、分析:三大核心能力10倍级提升 2.统一资源池重塑云服务规模红利 目录 降本九成:IO资源池优化成本近90% 提效十倍:算力资源池提升分析能力数十倍 技术路线讨论:统一资源池VS超大规模集群VS弹性扩缩容 3.方法论:数据驱动·理论模型优化法 探索优化理论边界,CLS连续实现10倍级优化的底层逻辑 1.百PB规模日志业务挑战及应对 成本、检索、分析:三大核心能力10倍级提升 2.统一资源池重塑云服务规模红利 目录 降本九成:IO资源池优化成本近90% 提效十倍:算力资源池提升分析能力数十倍 技术路线讨论:统一资源池VS超大规模集群VS弹性扩缩容 3.方法论:数据驱动·理论模型优化法 探索优化理论边界,CLS连续实现10倍级优化的底层逻辑 CLS项目概况成本敏感的海量日志检索、分析平台 •CLS(CloudLogService)是腾讯云提供的一站式日志服务平台,支持数据采集、检索分析、数据清洗、可视化告警的一体化 服务 •CLS日志引擎核心能力:海量日志检索&分析能力;日志数据量大,客户对日志成本比较敏感 •业务规模快速增长:售卖规模年增长超 100%,总规模超过百PB CLS日志服务定位 产品架构图:支持60+种日志&指标数据源,数据采集、检索分析、数据清洗、可视化告警的一体化可观测SaaS服务 挑战&应对检索能力入选顶会VLDB2022,比主流搜索引擎提高数十倍 率,因此也能带动相关云服务质量的有效提升。 7 CLS时序搜索引擎性能提升数十倍: 1.日志搜索以文本搜索为主,过去20多年,业界以传统文本搜索引擎支撑日志检索业务 2.日志具有强时间属性,传统搜索引擎在百亿条规模日志检索中,仅时间索引就需要加载30GB 3.CLS提出时序搜索引擎理念,平均性能相对主流搜 索引擎ES提升38倍,成果入选数据库顶会VLDB 技术/专利点 优化指标 优化前性能 优化后性能 时间戳有序化 CPU O(n) O(logn) 索引IO优化 IO O(logn) O(1) 逆序二分检索 CPU O(n) O(logn) 直方图优化 回表次数 O(n) O(1) 时序搜索引擎核心技术点(VLDB论文) ES(基于Lucene)为业界主流搜索引擎 (数据库排名第7,搜索引擎子类第一) 行业影响力:部分VLDB评委评价 大规模日志实时分析对工业界来说是一个重要的问题,很多读者都会对腾讯的解决方案感兴趣。 相对Lucene来说,这篇论文的方案带来了超过一个数量级的查询性能提升。 作者们大幅提升了这种应用场景下常用查询的效 挑战&应对分析能力深挖云服务优势,比主流分析引擎提高数十倍 日志业务分析场景 海量日志用户行为分析,比如UV,PV等 基于日志分析的监控告警能力 客户将CLS当作大数据分析引擎使用 复杂分析能力优化核心里程碑* •超越搜索引擎阶段:引入双引擎技术架构,相对主流搜索引擎提升10倍级复杂数据分析能力(2000万/分钟到2亿/分钟)。 •接近分析引擎阶段:不断优化两个引擎之间的交互效率,累 计将分析能力提升数十倍(50亿/分钟),分析能力逼近主流大数据分析引擎。 •超越分析引擎阶段:引入统一计算架构,充分挖掘云服务规 模优势,再次将分析能力提升数十倍(500亿+/分钟),实现了分析能力上面对主流大数据分析引擎的超越。 *备注:此处提的分析能力指最差场景的分析能力;通常情况下,较优场景的分析能力是最差场景的10倍以上,最优场景可达百倍千倍。从研发角度,提升最差场景的分析能力对产品更有实质意义 最差场景数据分析能力走势图 对数坐标 *备注:此处的行,定义为3个字段,平均每行数据大小100字节左右 挑战&应对成本能力用成本解决客户问题,用技术解决成本问题 •挑战:用成本快速解决客户不断提高的能力期待 •10倍级流量跳变保持服务稳定 •超越搜索引擎的检索体验 •超越大数据分析的分析体验 产品能力演进 •应对:用技术解决成本问题,累计优化单位成本90% •2022,2023,2024连续三年,日志引擎 单位成本降幅每年超过50% 备注:2024年4月份前为真实成本数据,2024年4月份以后为预测数据 •连续获得腾讯云成本优化排行榜第一名 1.百PB规模日志业务挑战及应对 成本、检索、分析:三大核心能力10倍级提升 2.统一资源池重塑云服务规模红利 目录 降本九成:IO资源池优化成本近90% 提效十倍:算力资源池提升分析能力数十倍 技术路线讨论:统一资源池VS超大规模集群VS弹性扩缩容 3.方法论:数据驱动·理论模型优化法 探索优化理论边界,CLS连续实现10倍级优化的底层逻辑 统一资源池降本九成提效十倍,重塑云服务规模红利 CLS降本增效,是传统软件改造为云服务过程中,释放规模红利的结果。 孤立集群:主流开源社区关注【单个集群】的能力最大化和成本最小化 统一资源池:关注【100个集群】作为一个整体,如何做到能力最大化和成本最小化 【孤立集群】集群隔离、节点隔离、磁盘隔 离,导致云服务流失了规模优势 集群隔离:单集群0.5P能力,导致云服务100P规 模和传统软件0.5P没有实质差别,云只是“代客运 【统一资源池】解决资源孤岛问题,实现算 力资源和IO资源全局流通 存算分离架构打破IO隔离,统一计算架构打破集群 及节点间的算力隔离 维” IO资源池存算分离,解决IO资源隔离问题 问题背景 早期CLS使用社区版ES作为存储底座,成本居高不下,每年数亿,其中存储成本占比近80%。 ES基于ShareNothing架构,数据存储于本地磁盘 理论成本推导 打破磁盘IO资源隔离,可以用性能更差、单位成本更低的存储介质; 打破磁盘容量隔离,可以提高存储使用率; 存算分离架构优化,可以减少一半算力&存储冗余; 解决方案: 基于对象存储存算实施存算分离,整体可将日志引擎成本降低为原生ES的10% 传统 ES 架构 存算分离模型 成本计算成本:1副本/2副本*50%=25% 优化存储成本:1/2*65%/100%*0.1/0.35*(1-30%)=6.4% 测算整体成本:20%*25%+80%*6.4%=10.1% 注:其中*50%为我们同步推进的全局负载均衡提升一倍CPU使用效率 注:其中(1-30%)为我们同步推进的压缩算法优化,减少数据量30% IO资源池IO并行化独家实现对象存储上热数据搜索分析能力 问题背景 •对象存储比本地磁盘慢百倍,业界只用来做冷存储 •日志数据以短周期存储(热数据)为主,冷数据降本空间有限 理论模型思路 •IO并行化可以通过并行没有依赖关系的IO,将数百个IO调度到数个IO周期内完成 •以IO为中心设计检索流程,解决对象存储响应速度 比本地磁盘慢百倍的问题 解决方案 •IO并行化方案实现行业独家在对象存储上具备热数据检索分析能力 传统检索算法周期数分析: IO周期数=segment数量*(检索消耗IO周期+取数据消耗IO周期)=6*(29+20)=294 IO并行化检索算法周期数分析: IO周期数=segment数量*(检索消耗IO周期+取数据消耗IO周期)=1*(10+1)=11 IO并行化效果分析 IO并行化效果测试数据 *单shard测试数据量:28.6GB数据条数:12719万 算力资源池联邦分析,分析能力提升10倍+ 问题背景:超大规模分析问题 大规模分析能力是客户评价CLS能力的重要依据。其特点为低频次,分析规模大; 超大规模分析难题: 提前准备资源:资源利用率低,资源浪费。 按需扩容资源:分析属于实时请求,很难在秒级扩容出上千个节点。 技术约束:集群规格有上限,目前集群最大规模200台左右 理论分析:孤立集群影响系统能力 单个分析只能用到单个集群资源,事实上云服务中同时存在数十个集群 解决方案:联邦计算提高算力规模数十倍 将大规模分析任务拆分到多个集群中同时执行,可用算 力从单个集群的百台规模提升到数千台。 分析规模与频次分布图 (存在极少数大规模分析) 孤立集群计算VS联邦分析 (联邦分析利用整个地域可用算力) 算力资源池全局负载均衡,解决算力可预测性问题 问题背景:算力可预测性问题 数据特征差异问题:基于数据量做任务拆分,由于数据特征不同,相同数据需要的算力并不相同 突发流量问题:可能出现客户突发写入流量,导致特定节点写入算力需求突增,对调度实时性提出很高的要求 算力结构分解:轻状态计算+重状态计算 轻状态计算:编制数据索引,只依赖少量索引配置,占比2/3 重状态计算:合并索引文件,索引文件数据量较大,占比1/3 解决方案:全局负载均衡支持轻状态计算迁移 远程索引服务:支持轻状态计算调度到其他节点执行 实现了地域级全局负载均衡,降低了对调度的要求,提高了资源利用率 突发流量 算力类型分布 远程索引服务 (实现全局负载均衡) 算力资源池抢占式分析,进一步优化算力 问题背景:大规模分析算力问题 为超大规模分析预留足够的算力,造成平时算力闲置 算力结构分解:实时计算+非实时计算 分析脉冲 分析数量分布大规模分析占比 非实时计算:将小索引文件合并为大索引文件,允许 分钟级甚至十分钟级延迟,占比1/3。 实时计算: 常驻:为日志数据编制倒排索引,要求写入日志3s内可检索,占比2/3。 脉冲:执行大规模分析,规模大,持续时间短 解决方案:抢占式分析优先保障分析时效 抢占式分析,大规模分析过程中,临时抑制非实时计算,优先保障分析时效 计算类型分 布 抢占式分析示意图 技术路线讨论统一资源池VS超大规模集群 17 超大规模集群问题 故障半径大:故障的爆炸半径大是超大规模集群的最致命缺陷。集群故障影响客户规模多 故障恢复时间长:计算密集型服务,系统恢复需要消耗大量的资源,故障恢复时间和集群规模成正比 运维经验缺乏:超出业界主流集群规模,技术和运维经验上面都需要逐渐沉淀 隔离性差:缺乏足够多的集群去隔离不同敏感程度的客户 统一资源池:小集群,大联邦;集群隔 离,资源共享 集群自治理念:集群平时保持独立模式运营,非必要不去动用跨集群的能力。 兜底理念:极端情况下,可以人工关闭跨集群能力。在关闭跨集群能力的情况下,由于坚持了集群自治的理念,系统依然能够保障99%的可用性。 18 技术路线讨论统一资源池VS弹性扩缩容 弹性扩缩容 优点:门槛低,见效快,中小规模业务增强弹性能力的首选 缺点:不能利用业务特性,无法挖掘业务相关的资源效率;导致大集群模式 统一资源池:贴近业务需求,充分利用业务特性,挖掘规模红利 联邦集群:毫秒级+数万核+零成本的扩容能力 时间维度资源调度:抢占式分析,IO并行化 统一资源池+弹性扩缩容 降低扩容的必要性:统一资源池强化了资源的流动性,只要任何一个集群存在空闲资源,就没有必要给业务扩容。 提升扩容的效率:实现了算力和IO资源的充分流动;只需要扩一些没有业务数据的【空】集群,就能快速补充算力和IO资源 1.百PB规模日志业务挑战及应对 成本、检索、分析:三大核心能力10倍级提升 2.统一资源池重塑云服务规模红利 目录 降本九成:IO资源池优化成本近90% 提效十倍:算力资源池提升分析能力数十倍 技术路线讨论:统一资源池VS超大规模集群VS弹性扩缩容 3.方法论:数据驱动·理论模型优化法 探索优化理论边界,CLS连续实现10倍级优化的底层逻辑 理论模型优化法优化的关键是什么? 分享一个chatgpt编的故事: 在一个古老的村落,李老汉偶然在家中发现了一张祖传的藏宝图。这张图描绘了一个深埋地下五米的巨大宝藏。虽然年事已高,但他决心追寻这份财富。 他仔细研究藏宝图,对照地形,确