云硬盘架构升级和性能提升详解
【大咖・来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》
云盘为云服务器提供高可用、高可靠、持久化的数据块级随机存储,其性能和数据可靠性尤为重要。UCloud根据以往的运营经验,在过去一年里重新设计了云盘的底层架构,在提升普通云盘性能的同时,完成了对NVME高性能存储的支持。下文从IO路径优化、元数据分片、支持NVME等技术维度着手,详细讲解了UCloud云硬盘的架构升级和性能提升策略。
IO路径优化
过去,IO读写需要经过三层架构,请求首先通过网络,访问proxy代理服务器(proxy主要负责IO的路由获取、缓存、读写转发以及IO写操作的三份复制),***到达后端存储节点。老的架构里,每一次读/写IO都需要经过2次网络转发操作。
为了降低延时,优化后的方案将proxy负责的功能拆分,定义由client负责IO的路由获取、缓存,以及将IO的读写发送到主chunk当中,由主chunk负责IO写的三份复制。架构升级之后,IO的读写只需经过两层架构,尤其对于读IO而言,一次网络请求可直达后端存储节点,其时延平均可降低0.2-1ms。
元数据分片
分布式存储会将数据进行分片,从而将每个分片按多副本打散存储于集群中。老架构中,UCloud支持的分片大小是1G。但是,在特殊场景下(如业务IO热点局限在较小范围内),1G分片会使普通SATA磁盘的性能非常差,并且在SSD云盘中,也不能均匀的将IO流量打撒到各个存储节点上。所以新架构中,UCloud将元数据分片调小,支持1M大小的数据分片。
分片过小时,需要同时分配或挂载的元数据量会非常大,容易超时并导致部分请求失败。这是由于元数据采用的是预分配和挂载,申请云盘时系统直接分配所有元数据并全部load到内存。
例如,同时申请100块300G的云盘,如果按1G分片,需要同时分配3W条元数据;如果按照1M分片,则需要同时分配3000W条元数据。
为了解决性能瓶颈,团队采用放弃路由由中心元数据节点分配的方式。该方案中,Client 端和集群后端采用同样的计算规则R(分片大小、pg个数、映射方法、冲突规则);云盘申请时,元数据节点利用计算规则四元组判断容量是否满足;云盘挂载时,从元数据节点获取计算规则四元组; IO时,按计算规则R(分片大小、pg个数、映射方法、冲突规则)计算出路路由元数据然后直接进行IO。通过这种改造方案,可以确保在1M数据分片的情况下,元数据的分配和挂载畅通无阻,并节省IO路径上的消耗。
对NVME高性能存储的支持
NVME充分利用 PCI-E 通道的低延时以及并行性极大的提升NAND固态硬盘的读写性能和降低时延,其性能百倍于HDD。目前常用的基于NAND的固态硬盘可支持超10W的写IOPS、40-60W的读IOPS以及1GB-3GB读写带宽,为支持NVME,软件上需要配套的优化设计。
首先,传统架构采用单线程传输,单个线程写 IOPS达6W,读IOPS达8W,难以支持后端NVME硬盘几十万的IOPS以及1-2GB的带宽。为了利用NVME磁盘的性能,需要将单线程传输改为多线程传输,系统定期上报线程CPU以及磁盘负载状态,当满足某线程持续繁忙、而有线程持续空闲情况时,可将选取部分磁盘分片的IO切换至空闲线程,目前5个线程可以完全发挥NVME的能力。
此外,在架构优化上,除了减少IO路径层级以及更小分片外,UCloud在IO路径上使用内存池、对象池,减少不停的new delete,同时尽量用数组索引,减少查询消耗,并避免字符串比较以及无谓的拷贝,最终充分地发挥NVME磁盘性能。
以上内容最早发表于UCloud 10月12日在上海主办的Tech Talk***期活动。Tech Talk是UCloud面向用户做深度技术交流的线下活动,后面也会继续举办,欢迎参加。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
企业需要关注云计算的投资回报率问题
【大咖・来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 准备不充分的规划使许多大型企业对云计算部署和他们获得的投资回报率感到不满。但这将成为过去。 日前,由托管服务提供商Softchoice公司进行的一项针对北美地区250家IT决策者的民意调查显示,云计算计划的准备工作正在进行中。83%的受访者表示他们已经评估了现有的应用程序,以确定他们是否已准备好接受云计算,82%的人已经对他们的数据中心进行了现代化改造为采用云计算做好准备。此外,72%的人表示已经在内部传达了云计算战略的业务影响。 但是,一旦很多公司迁移到云端,就会发现一些问题: 57%的受访者承认他们在某些时候其费用超过了他们的云计算预算。更有甚者,43%的受访者表示他们无法了解如何创建有效的云计算管理和运营策略。 公司规模越大,从云端查看投资回报率(ROI)的难度就越大。中型企业中约有一半(48%)的IT***坚信,迁移到云端有助于业务发展,而大型企业只有36%的人这么认为。 只有36%的代表表示他们对自己的云计算安全政策充满信心,这有点令人担忧。 而很多企业采用云计算正处于称之为宿醉的阶段,这掩盖了将业务迁移...
- 下一篇
云计算的六大相关技术
【大咖・来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 云计算是一种新型的业务交付模式,同时也是新型的IT基础设施管理方法。通过新型的业务交付模式,用户将通过网络充分利用优化的硬件、软件和网络资源,并以此为基础提供创新的业务服务。新型的IT基础设施管理方法让IT部门可以把海量资源作为一个统一的大资源进行管理,支持IT部门在大量增加资源的同时无需显著增加相应的人员进行维护管理,云计算的相关技术如下: 虚拟化 虚拟化可大幅度提高组织过程中资源和应用程序的效率和可用性。虚拟化把物理资源和最终呈现给用户的资源进行了分离,实际上是一个替代过程,在具有统一良好架构设计的物理资源上创建出多个替代资源(即虚拟资源),替代资源和物理资源具有相同的接口和功能,对用户来说虚拟资源具备与物理资源相同的使用功能,同时还可以有不同的属性,如价格、容量、可调整性等。 自动化部署 云计算的一个核心思想是通过自动化的方式尽可能地简化任务,使得用户可以通过自助服务方式快捷地获取所需的资源和能力。部署是基础设施管理中十分重要,也是需要花费很大工作量的一部分,包括操作系统、中间件和应用等不同层次的部署。自动化...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7安装Docker,走上虚拟化容器引擎之路