10倍,BoostKit鲲鹏全局缓存3大创新技术助力Ceph性能提升
摘要:本文从四个方面阐述了BoostKit鲲鹏全局缓存技术,该技术针对Ceph开源存储方案存在的痛点,采用三大创新技术,有效的提高了Ceph的性能,最高可以将Ceph性能提升10倍。
本文分享自华为云社区《【云驻共创】BoostKit鲲鹏全局缓存技术助力Ceph性能提升10倍,真香》,作者:码农飞哥。
1. 存储行业特点及挑战
有统计数据显示,企业应用每增加100ms存储时延会造成1%的销售损失。如下图所示:
从21年到23年,关键业务的占比从25%增加到60%,数据库等中高负载业务从45%减少到15%,一般业务从 30%减少到25%。
对于关键业务一般使用的存储类型是 增强型\极速SSD云硬盘(全闪存),这种方式主要的痛点是 要求极致时延和IOPS SSD使用成本高。
对于数据库等中高负载业务使用的存储类型是超高IO云硬盘(全闪存、均衡型SAS),这种方式的主要痛点是对性价比降低时延。
对于一般业务使用的是高IO云硬盘(均衡型SATA)
1.1.Ceph开源存储方案面临的性能挑战
Ceph开源存储方案面临的性能挑战主要是: IOPS性能低,IO时延高。 而造成这种情况的原因主要有如下三个方面:
- IO请求流程多,线程切换开销大
- IO处理流程长,队列等待多,端到端时延高。
- IO随机性大,磁盘带宽利用率低。
IO的写入流程是:
- Message 接受入队
- 三副本数据处理
- 数据持久化
- 元数据持久化
- 资源释放,响应完成。
我们可以看到一个完整的IO写入流程包括了5大流程,流程真的很长。
那么BoostKit鲲鹏全局缓存技术又是如何应对这些挑战的呢?
2. 全局缓存创新与价值
BoostKit鲲鹏全局缓存技术主要有三大创新技术,通过三大创新技术可以实现存储性能飞跃式提升。
- 缓存前后台分离,缩短IO路径
- IO聚合,实现磁盘带宽性能
- 智能预取,提高读缓存命中率。
下面我分别就这三大创新技术进行一个简要的说明。
2.1. 缓存前后台分离,缩短IO路径
- 在计算侧(前台)重定向到全局缓存,读写IO请求直接在缓存中命中并实时反馈给上层应用。
- 全局缓存的IO数据异步下刷到后端存储侧(后台)或提前预取数据到全局缓存
其实现流程如下图所示:
从图中可以看出读IO和写IO都是在全局缓存中实现的。
写IO首先将数据写入缓存中,然后异步下刷到磁盘中。
异步IO批量预取提前命中,异步数据预取,读IO直接从缓存中取数据。
这样做的好处就是 提高了异步刷盘速率,保证写缓存100%命中,降低写时延。
提高预取准确率,加大缓存容量,保证读缓存80%命中,降低读时延。
如下图所示:展示了缓存前后台的具体实现。
- 流程解耦:写缓存刷盘,读缓存淘汰无需互斥,可灵活控制各自水位。
- 资源解耦:读写缓存并发,Quota资源等解耦,避免相互影响。
- 介质类型解耦:读写缓存可分为管理异构缓存介质(RAM,NVMeSSD),实现介质分离。
- 冗余策略优化:读cache使用单副本,提高cache空间利用率,写cache使用三副本,保证数据可靠性。
2.2. IO聚合,实现磁盘带宽性能
- IO聚合:通过聚合算法,回写策略和垃圾回收等能力,实现随机写小IO聚合成顺序写大IO,实现磁盘带宽的利用率,使性能得到大幅提升。
- 按需读取:从元数据中获取小IO映射关系,下盘读取小IO数据,无读放大。
- 通过高效的索引算法和数据排列,仅提高有效数据块,并和新写入的数据进行IO聚合,减少IO开销和降低垃圾对业务的影响。
具体实现如下图所示:
2.3. 智能预取,提高读缓存命中率
基于创新的负载识别算法,识别不同应用访问Pattern(如流式、关联、热点等),并通过归一化特征模型制定最优参数(预取门限,长度等),实现80%以上缓存命中率和2倍+读性能提升。
如下图所示:展示了智能预取分离技术架构:
这里主要有两个技术
- 双引擎分离:创新性的Client端推荐引擎+Server端执行引擎分离的智能预取架构。
- 全局精准推荐:推荐引擎拥有全局数据访问视图,从而进行全局精准推荐。
3. 全局缓存功能介绍
3.1. 全局缓存技术的整体架构
说完了全局缓存的创新点之后,接下来让我们来看看全局缓存的各个核心功能。
全局缓存技术的整体架构如下图所示:
可以用三横+两纵来总结全局缓存技术框架。
三横:客户端集群、缓存集群、存储集群
两纵:读写路径分离双驱加速的逻辑布局。
- 写缓存:数据写入、删除功能、保证Cache前后台写低时延、
- 读缓存:数据读取功能,数据预取和淘汰、保证高Cache命中。
- 元数据管理:高性能元数据管理引擎、小IO聚合、垃圾回收
- 集群管理:集群管理、运行状态管理,故障处理框架。
- 持久化:数据持久化存储,三副本资源池,介质管理。
- 适配层:对接开源Ceph存储,终结Ceph语义。
- 基础设施:系统启动、内存管理、日志、命令行、系统调度。
3.2. 全局缓存功能规格一览
1. 高性能
支持单节点 14W IOPS,1ms时延。
2. 集群兼容性
- 提供无侵入式接口API支持主流ceph集群接入
- 支持块存储服务,对象存储服务
- 支持快照及克隆功能
- 支持鲲鹏平台硬件,openEuler,RedHat系统
3. 可靠性
- 数据持久化存储防掉电丢失。
- 数据三副本以节点域存储,防止单点故障。
- 支持集群故障自动检测,自动故障切换和恢复。
4. 安全性
- 数据通道和管理通道默认支持TLS1.3 安全传输
5. 扩展性
- 支持按需增加缓存节点扩展缓存规模
- 支持在线升级
- 数据持久化存储防掉电丢失
- 数据三副本以节点域存储,防止单点故障
- 支持集群故障自动检测,自动故障切换和恢复。
4. 全局缓存使用介绍
说完了那么多BoostKit鲲鹏全局缓存技术的功能和好处,那么如何使用BoostKit鲲鹏全局缓存呢?
首先找到用户指南,指南地址是:Kunpeng BoostKit 21.0.RC7 Global Cache 用户指南(openEuler 20.03) 01 - 华为
按照用户指南一步步去操作使用吧!!!!
总结
本文从四个方面阐述了BoostKit鲲鹏全局缓存技术,该技术针对Ceph开源存储方案存在的痛点,采用三大创新技术,有效的提高了Ceph的性能,最高可以将Ceph性能提升10倍。如下图所示:
点击关注,第一时间了解华为云新鲜技术~
10倍,BoostKit鲲鹏全局缓存3大创新技术助力Ceph性能提升相关推荐
- 云原生时代的“精益实践”:企业效能提升10倍“杀手锏
简介:1月15日,国内知名"精益产品开发"研究和实践者.阿里云云效资深技术专家何勉在阿里云<云计算情报局>线上直播栏目中,分享其对研发新模式的最新思考,提出" ...
- python gc内存_禁用 Python GC,Instagram 性能提升10%
通过关闭 Python 垃圾收集(GC)机制,该机制通过收集和释放未使用的数据来回收内存,Instagram 的运行效率提高了 10 %.是的,你没听错!通过禁用 GC,我们可以减少内存占用并提高 C ...
- nginx 配置静态文件目录_nginx缓存静态资源,只需几个配置提升10倍页面加载速度...
nginx缓存静态资源,只需几个配置提升10倍页面加载速度 首先我们看图说话 这是在没有缓存的情况下,这个页面发送了很多静态资源的请求: 可以看到,静态资源占用了整个页面加载用时的90%以上,而且这个 ...
- Kunpeng BoostKit 使能套件:大数据场景如何实现“大鹏一日同风起”倍级性能提升?
文章目录 前言 一.开源大数据与鲲鹏多核结构渊源 1.1.海量数据处理的难题 1.2.大数据并行计算特点天然匹配鲲鹏多核架构 二.开源大数据整体与组件介绍 2.1.大数据组件:Hadoop-HDFS ...
- 实现分区表性能提升超 10 倍,解密 TDSQL PG 版开源升级特性
1 月 11 日,腾讯云 TDSQL PG 开源版(开源代号 TBase)再升级:分布区表关联查询性能(join)提升超 10 倍,同时提升了产品在分布式场景下的易用性,增加灵活可用的功能组件. 该升 ...
- GitHub开源比Hadoop快至少10倍的物联网大数据平台
TDengine是一个开源的专为物联网.车联网.工业互联网.IT运维等设计和优化的大数据平台.除核心的快10倍以上的时序数据库功能外,还提供缓存.数据订阅.流式计算等功能,最大程度减少研发和运维的工作 ...
- 这位创造GitHub冠军项目的“老男人”,堪称10倍程序员本尊
作者 | 马超,CSDN博客专家,金融科技从业者 来源 | CSDN博客 7月12日一款叫做TDengine的时序数据库项目在GitHub上开源了,这个项目一经发布就稳稳占据了GitHub排行榜的C位 ...
- ICCV2021 | SMCA:即插即用的共同注意力模型,可使DETR收敛加速10倍
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 计算机视觉领域顶级会议 ICCV(国际计算机视觉大会)于10月11日 ...
- 如何让你的Nginx 提升10倍性能?
来源:www.zcfy.cc/article/10-tips-for-10x-application-performance-nginx-22.html 原文:https://www.nginx.co ...
最新文章
- 安卓端网页浏览过程中实时更新title的web实现
- 仿QQ6 0侧滑之ViewDragHelper的使用(一)
- XGBoost的基本使用应用Kaggle便利店销量预测
- Hexo瞎折腾系列(8) - 添加评论系统
- u-boot.lds详细的分析
- 测试面试题集-Python花式打印九九乘法口诀表
- 10万人参加过的公开课(大数据、AI、云计算、5G、物联网),你都学了吗?
- Flex与.NET互操作:基于WebService的数据访问
- videojs--跨浏览器的HTML视频播放器(可自定义样式)
- 【Alpha】Scrum Meeting 2
- codevs1515 瞎搞+Lucas
- JavaExcel模板下载(多sheet)
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 G 旋转矩阵(模拟)
- 程序员必备注释模板——“佛祖保佑 永无bug“
- bootbox.js bootbox.promt()
- 《自控力》分享一些减缓压力小妙招
- IEEE754的理解归纳
- 市场调研报告-全球与中国关键字研究工具市场现状及未来发展趋势
- 可视化第一部分(简单的图形)
- Vue项目在IE浏览器上路由跳转报错
热门文章
- 登录drupal管理员_天气公司依靠Drupal来管理内容
- linux 开源谷歌浏览器_开发人员浏览器,Google开源版本等
- 2020年这个副业,能让你彻底告别死工资,你敢试吗?
- python中plot函数的属性_Python matplotlib 学习-绘图函数
- 计算机怎么把硬盘分成几个,如何把电脑的一个盘的容量分给另外一个盘
- python调用java文件_Python程序中调用Java代码的实践
- powerbi python词云图_Python 练手项目: 抓取豆瓣陈情令评论,并制作词云图
- HTML5+CSS+JQuery 实现简单的进度条功能
- 【剑指offer】旋转数组的最小数字
- Bootstrap 警告框(Alert)插件