降本九成,提效十倍:统一资源池理念重塑CLS规模红利
如果无法正常显示,请先停止浏览器的去广告插件。
1. 降本九成,提效十倍
统一资源池重塑CLS规模红利
zlinzlin(林兆祥)
腾讯云CLS日志引擎研发负责人 T13工程师
2024-06-14
2.
3. 1. 百PB规模日志业务挑战及应对
成本、检索、分析:三大核心能力10倍级提升
目录
2. 统一资源池重塑云服务规模红利
降本九成:IO资源池优化成本近90%
提效十倍:算力资源池提升分析能力数十倍
技术路线讨论:统一资源池 VS 超大规模集群 VS 弹性扩缩容
3. 方法论:数据驱动·理论模型优化法
探索优化理论边界,CLS连续实现10倍级优化的底层逻辑
4. 1. 百PB规模日志业务挑战及应对
成本、检索、分析:三大核心能力10倍级提升
目录
2. 统一资源池重塑云服务规模红利
降本九成:IO资源池优化成本近90%
提效十倍:算力资源池提升分析能力数十倍
技术路线讨论:统一资源池 VS 超大规模集群 VS 弹性扩缩容
3. 方法论:数据驱动·理论模型优化法
探索优化理论边界,CLS连续实现10倍级优化的底层逻辑
5. CLS项目概况
成本敏感的海量日志检索、分析平台
• CLS(Cloud Log Service)是腾讯云提供的
一站式日志服务平台,支持数据采集、检
索分析、数据清洗、可视化告警的一体化
服务
• CLS日志引擎核心能力:海量日志检索&分
析能力;日志数据量大,客户对日志成本
比较敏感
• 业务规模快速增长:售卖规模年增长超
100%,总规模超过百PB
CLS日志服务定位
5
6. 产品架构图:支持60+种日志&指标数据源,数据 采集、检索分析、数据清洗、可视化告警 的一体化可观测SaaS服务
6
7. 挑战&应对
检索能力 入选顶会VLDB2022,比主流搜索引擎提高数十倍
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来说,这篇论文的方案带来了超过一个
数量级的查询性能提升。
作者们大幅提升了这种应用场景下常用查询的效
率,因此也能带动相关云服务质量的有效提升。
7
8. 挑战&应对
分析能力 深挖云服务优势,比主流分析引擎提高数十倍
日志业务分析场景
海量日志用户行为分析,比如UV,PV等
基于日志分析的监控告警能力
客户将CLS当作大数据分析引擎使用
复杂分析能力优化核心里程碑*
•
•
•
超越搜索引擎阶段:引入双引擎技术架构,相对主流搜索引
擎提升10倍级复杂数据分析能力(2000万/分钟到2亿/分
钟)。
接近分析引擎阶段:不断优化两个引擎之间的交互效率,累
计将分析能力提升数十倍(50亿/分钟),分析能力逼近主
流大数据分析引擎。
超越分析引擎阶段:引入统一计算架构,充分挖掘云服务规
模优势,再次将分析能力提升数十倍(500亿+/分钟),实
现了分析能力上面对主流大数据分析引擎的超越。
*备注:此处提的分析能力指最差场景的分析能力;通常情况下,较优场景的
分析能力是最差场景的10倍以上,最优场景可达百倍千倍。从研发角度,提
升最差场景的分析能力对产品更有实质意义
对
数
坐
标
最差场景数据分析能力走势图
*备注:此处的行,定义为3个字段,平均每行数据大小100字节左右
8
9. 挑战&应对
成本能力 用成本解决客户问题,用技术解决成本问题
• 挑战:用成本快速解决客户不断提
高的能力期待
• 10倍级流量跳变保持服务稳定
• 超越搜索引擎的检索体验
• 超越大数据分析的分析体验
• 应对:用技术解决成本问题,累计优化
单位成本90%
•
2022,2023,2024连续三年,日志引擎
单位成本降幅每年超过50%
•
连续获得腾讯云成本优化排行榜第一名
备注:2024年4月份前为真实成本数据,2024年4
月份以后为预测数据
产品能力演进
9
10. 1. 百PB规模日志业务挑战及应对
成本、检索、分析:三大核心能力10倍级提升
目录
2. 统一资源池重塑云服务规模红利
降本九成:IO资源池优化成本近90%
提效十倍:算力资源池提升分析能力数十倍
技术路线讨论:统一资源池 VS 超大规模集群 VS 弹性扩缩容
3. 方法论:数据驱动·理论模型优化法
探索优化理论边界,CLS连续实现10倍级优化的底层逻辑
11. 统一资源池
降本九成提效十倍,重塑云服务规模红利
CLS降本增效,是传统软件改造为云服务过程中,释放规模红利的结果。
孤立集群:主流开源社区关注【单个集群】的能力最大化和成本最小化
统一资源池:关注【100个集群】作为一个整体,如何做到能力最大化和成本最小化
【孤立集群】集群隔离、节点隔离、磁盘隔 【统一资源池】解决资源孤岛问题,实现算
离,导致云服务流失了规模优势 力资源和IO资源全局流通
集群隔离:单集群0.5P能力,导致云服务100P规
模和传统软件0.5P没有实质差别,云只是“代客运
维”
存算分离架构打破IO隔离,统一计算架构打破集群
及节点间的算力隔离
11
12. IO资源池
存算分离,解决IO资源隔离问题
问题背景
早期CLS使用社区版ES作为存储底座,成本居高不
传统
ES
架构
下,每年数亿,其中存储成本占比近80%。
ES基于Share Nothing架构,数据存储于本地磁盘
理论成本推导
打破磁盘IO资源隔离,可以用性能更差、单位成本
更低的存储介质;
打破磁盘容量隔离,可以提高存储使用率;
存算
分离
模型
存算分离架构优化,可以减少一半算力&存储冗余;
解决方案:
基于对象存储存算实施存算分离,整体可将日志引
擎成本降低为原生ES的10%
成本
优化
测算
计算成本: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%
12
13. IO资源池
IO并行化独家实现对象存储上热数据搜索分析能力
问题背景
传统检索算法周期数分析:
IO周期数=segment数量*(检索消耗IO周期+取数据消耗
• 对象存储比本地磁盘慢百倍,业界只用来做冷存储 IO周期)=6*(29+20)= 294
• 日志数据以短周期存储(热数据)为主,冷数据降 IO并行化检索算法周期数分析:
IO周期数=segment数量*(检索消耗IO周期+取数据消耗
本空间有限
理论模型思路
•
IO并行化可以通过并行没有依赖关系的IO,将数百
IO周期)=1*(10+1)= 11
IO并行化效果分析
个IO调度到数个IO周期内完成
•
以IO为中心设计检索流程,解决对象存储响应速度
比本地磁盘慢百倍的问题
解决方案
•
IO并行化方案实现行业独家在对象存储上具备热数
据检索分析能力
IO并行化效果测试数据
*单shard测试 数据量:28.6GB 数据条数:12719万
13
14. 算力资源池
联邦分析,分析能力提升10倍+
问题背景:超大规模分析问题
大规模分析能力是客户评价CLS能力的重要依据。其特点为
低频次,分析规模大;
超大规模分析难题:
提前准备资源:资源利用率低,资源浪费。
按需扩容资源:分析属于实时请求,很难在秒级扩容出上千个
节点。
分析规模与频次分布图
(存在极少数大规模分析)
技术约束:集群规格有上限,目前集群最大规模200台左右
理论分析:孤立集群影响系统能力
单个分析只能用到单个集群资源,事实上云服务中同时
存在数十个集群
解决方案:联邦计算提高算力规模数十倍
将大规模分析任务拆分到多个集群中同时执行,可用算
力从单个集群的百台规模提升到数千台。
孤立集群计算 VS 联邦分析
(联邦分析利用整个地域可用算力)
14
15. 算力资源池
全局负载均衡,解决算力可预测性问题
问题背景:算力可预测性问题
数据特征差异问题:基于数据量做任务拆分,由于数据特征
不同,相同数据需要的算力并不相同
突发流
量
突发流量问题:可能出现客户突发写入流量,导致特定节点
写入算力需求突增,对调度实时性提出很高的要求
算力结构分解:轻状态计算+重状态计算
轻状态计算:编制数据索引,只依赖少量索引配置,占比2/3
算力
类型
分布
重状态计算:合并索引文件,索引文件数据量较大,占比1/3
解决方案:全局负载均衡支持轻状态计算迁移
远程索引服务:支持轻状态计算调度到其他节点执行
实现了地域级全局负载均衡,降低了对调度的要求,提高了
资源利用率
远程索引服务
(实现全局负载均衡)
15
16. 算力资源池
抢占式分析,进一步优化算力
问题背景:大规模分析算力问题
为超大规模分析预留足够的算力,造成平时算力闲置
分析脉冲
算力结构分解:实时计算+非实时计算
分析数量分布
非实时计算:将小索引文件合并为大索引文件,允许
大规模分析占比
分钟级甚至十分钟级延迟,占比1/3。
实时计算:
计算类型分
布
常驻:为日志数据编制倒排索引,要求写入日志3s内可
检索,占比2/3。
脉冲:执行大规模分析,规模大,持续时间短
解决方案:抢占式分析优先保障分析时效
抢占式分析,大规模分析过程中,临时抑制非实时计
算,优先保障分析时效
抢占式
分析
示意图
16
17. 技术路线讨论
统一资源池 VS 超大规模集群
超大规模集群问题 统一资源池:小集群,大联邦;集群隔
故障半径大:故障的爆炸半径大是超大规模集 离,资源共享
群的最致命缺陷。集群故障影响客户规模多
故障恢复时间长:计算密集型服务,系统恢复
需要消耗大量的资源,故障恢复时间和集群规
模成正比
运维经验缺乏:超出业界主流集群规模,技术
和运维经验上面都需要逐渐沉淀
隔离性差:缺乏足够多的集群去隔离不同敏感
集群自治理念:集群平时保持独立模式运
营,非必要不去动用跨集群的能力。
兜底理念:极端情况下,可以人工关闭跨集
群能力。在关闭跨集群能力的情况下,由于
坚持了集群自治的理念,系统依然能够保障
99%的可用性。
程度的客户
17
18. 技术路线讨论
统一资源池 VS 弹性扩缩容
弹性扩缩容
优点:门槛低,见效快,中小规模业务增强弹性能力的首选
缺点:不能利用业务特性,无法挖掘业务相关的资源效率;导致大集群模式
统一资源池:贴近业务需求,充分利用业务特性,挖掘规模红利
联邦集群:毫秒级+数万核+零成本的扩容能力
时间维度资源调度:抢占式分析,IO并行化
统一资源池+弹性扩缩容
降低扩容的必要性:统一资源池强化了资源的流动性,只要任何一个集群存在空闲资源,就没有必要给业务扩容。
提升扩容的效率:实现了算力和IO资源的充分流动;只需要扩一些没有业务数据的【空】集群,就能快速补充算力和IO资
源
18
19. 1. 百PB规模日志业务挑战及应对
成本、检索、分析:三大核心能力10倍级提升
目录
2. 统一资源池重塑云服务规模红利
降本九成:IO资源池优化成本近90%
提效十倍:算力资源池提升分析能力数十倍
技术路线讨论:统一资源池 VS 超大规模集群 VS 弹性扩缩容
3. 方法论:数据驱动·理论模型优化法
探索优化理论边界,CLS连续实现10倍级优化的底层逻辑
20. 理论模型优化法
优化的关键是什么?
分享一个chatgpt编的故事:
在一个古老的村落,李老汉偶然在家中发现了一张祖传的藏宝图。这张图描绘了一个深埋地下五米的巨大宝
藏。虽然年事已高,但他决心追寻这份财富。
他仔细研究藏宝图,对照地形,确定了宝藏的位置。带着工具,他独自踏上了寻宝之旅。途中,他凭借坚韧
和智慧,克服了重重困难。
到达指定地点后,李老汉开始挖掘。日复一日,他的双手布满了伤痕,但他的决心未曾动摇。终于,在一次
铁锹下去,他听到了金属撞击声。他小心翼翼地挖开,露出了满箱的金银珠宝。
看完故事,思考一些问题:
1.
2.
李老汉能够挖到宝藏,最关键的因素是什么?
作为一名程序员,如果非常明确的知道系统的某个模块有10倍级的优化空间,那么系统优化是不是就跟拿着
藏宝图挖宝藏一样简单?
3.
作为一名程序员,我们该如何去发现属于自己的藏宝图?
20
21. 理论模型优化法
案例分析 识别主流搜索引擎百倍级性能缺陷
问题背景
CLS早期以ES(Elastic Search)为技术底座;ES是业
界主流开源搜索引擎(数据库排名第7,搜索引擎子类排
名第一);
发现百亿数据的简单select count(*) where xxx 耗时
秒级
理论模型推导
ES为业界主流搜索引擎
(数据库排名第7,搜索引擎子类第一)
将检索出来的倒排链遍历一遍,耗时应该在10ms级别
冲突
理论模型推导值和压测值差距百倍
成果
时序搜索引擎,性能比ES快数十倍,成果被数据库顶会
VLDB2022收录
搜索引擎原理示意图
21
22. 理论模型优化法
案例分析 揭示“磁盘型KV必慢于内存型KV”之谬误
“常识”:磁盘型KV比内存型KV慢
磁盘速度比内存慢
因此,磁盘型KV速度比主流内存型KV速度慢
数据模型推导
在KV服务耗时构成中:
网络平均响应速度1ms
SSD磁盘平均响应速度0.1ms,磁盘耗时占比约
SSD磁盘响应速度测试 (时间单位:us)
10%(0.1/1.1=9%)
冲突
理论模型显示磁盘速度不会导致磁盘型KV和内存型KV
响应速度有实质差别
成果
在业务场景下,实现了比内存KV更快的磁盘KV,提高
了性能,优化了90%+的成本,年优化成本数亿
内存型KV(900台+)
900*256G=225T
单机256G内存
磁盘型KV(60台)
60*14T=840T
单机64G内存
22
23. 理论模型优化法
案例分析 定义优化理论边界
模块背景 IP地址解析服务
问题:输入IP地址,从IP库里面(900万条记录)检索对应的
信息,返回ip对应的信息。
系统实现
官方SDK性能:ipV4解析速度 22w/s
CLS改进实现:性能提升3倍,66w/s
问题:如何评价CLS的改进实现?
初步评估分析:单CPU主频2.5G,每条数据消耗
2.5G/66w=3800个cycle,明显太慢了
理论边界:2次cache miss=2*100个cycle;因为算法是logn
100万IP解析速度测试
的,其他部分可以预估为200个cycle。因此预估还有10倍提
升空间。
成果
进一步优化,减少cache miss率,ipV4解析速度提升4倍:
23
24. 理论模型优化法
专家
驱动
优化
法
数据驱动,探索优化理论边界
熟悉系统实现
想到/搜索
更好方案
实现/测试
缺点:
需要花费大量时间熟悉系统,可能是数个月或数年
过度熟悉系统,可能形成思维定式,缺乏天马行空的创新想法
大部分情况下,只能发现局部最优解,而不是全局最优解
数据
驱动
·
理论
模型
优化
法
构建理论模型
测算理论最优解
定位差异根因
提出改进方案
优点:
快速介入新领域:团队没有ES背景,3个月内将日志检索性能提升数十倍
重新定义问题结构:引入业务变量(日志时间)+ 删除无关变量(打分)
探索理论最优解:探索基于业务数据的理论最优解,而不是跟随/模仿竞品
24
25. 理论模型优化法
探索云日志服务各业务领域的理论最优解
云业务方向
日志业务方向
【时序搜索引擎】 【存算分离+IO并行化】 【统一计算架构】
提升检索性能数十倍 降低成本近90% 提升分析能力数十倍
统一资源池·释放云产品规模红利
数据驱动·理论模型优化法
25
26. 感谢倾听