【ESSD技术解读-04】ESSD Auto PL规格,引领IO性能弹性新方向-阿里云开发者社区

开发者社区> 阿里巴巴存储技术> 正文

【ESSD技术解读-04】ESSD Auto PL规格,引领IO性能弹性新方向

简介: 阿里云 ESSD 为云服务器 ECS 提供低时延、持久性和高可靠的块存储服务,成为云厂商全闪块存储的业界标杆。存储团队推出了 ESSD Auto PL 新的云盘规格,把性能与容量解耦,提供 IO 性能按需供给两大关键特性。AutoPL 具备的灵活性和弹性能力降低了 IT 规模规划难度和因规划不当带来的风险,本文详细介绍了Auto PL 新产品特性、揭秘背后的技术原理。
+关注继续查看

前言

作为 IaaS 最重要的核心组件之一,阿里云 ESSD 为云服务器 ECS 提供低时延、持久性和高可靠的块存储服务,成为云厂商全闪块存储的业界标杆。随着越来越多的企业上云和核心应用上云,以及容器和 Serverless 架构的蓬勃发展,对块存储 IO 性能的弹性能力提出了新的挑战和需求。阿里云存储团队在这种背景下推出了 ESSD Auto PL 新的云盘规格,把性能与容量解耦,提供 IO 性能按需供给两大关键特性。本文结合块存储典型业务场景,介绍 Auto PL 新产品特性、揭秘背后的技术原理。


云存储的IO弹性需求和业务痛点

随着云原生技术的发展,越来越多的企业基于云计算的虚拟化、弹性扩展及蓬勃发展的云原生技术的分布式框架,容器技术、编排系统、持续交付及快速迭代,构建起大规模、弹性扩展强、丰富的云上分布式业务场景;新的计算形态逐步往短周期、轻量化等方向发展,对块存储 IO 性能弹性提出了更多需求(性能通常用 IOPS :Input/Output Operations per Second 和吞吐 BPS :Bytes per Second 来描述),以下是比较常见的业务痛点:

  • VM/容器批量启动:计算实例启动时,系统盘短时间内消耗大量 IOPS 和吞吐 BPS
  • 业务高峰:客户业务面临不可预期的突发场景,需要云盘以及 VM 具备短时的突发性能需求的弹性扩展能力
  • 周期性任务处理:OLAP/批处理在可预见的时间内周期性的提交海量任务,需要云盘具备突发的弹性扩展能力


传统的块存储产品采用性能/容量耦合的产品设计,用户通过购买云盘容量获取相应的 IOPS/BPS 性能上限,通过云盘扩容同时获得磁盘容量和 IO 性能。ESSD 支持 PL0/1/2/3 多种性能的档位(PL:performance level),不同 PL 等级有不同 IO 性能上限,客户可通过云盘变配功能提升 PL 等级,从而得到更高的 IOPS/BPS 性能上限。云原生业务充分利用云的弹性能力,业务需求上量有个较长的时间周期,通常会预留部分存储性能余量。此外,相当部分云上业务流量存在明显的波峰波谷行为,大部分时间处于业务低负载期,且业务高峰期和峰值难以准确预估。典型的 IO 流量突发型业务可能在一定时间内出现一个或多个突发 IO 流量,突发时间短、突发性能峰值高,常见于互联网秒杀等突发业务场景,对性能规划提出了新的挑战:如果性能配置预留过高,会造成日常资源的大量闲置浪费;而如果性能预留不足,业务突发洪峰会造成业务受损。总而言之,通过云盘扩容/变配进行较为精准的性能规划变得非常困难。

image




ESSD Auto PL

针对以上业务痛点,阿里云推出了 ESSD Auto PL 产品规格,支持性能按需配置和按需突发两个模式,支持 1000 IOPS/GB 的超高单位容量性能上限。性能按需配置主要面向可预期的周期性 IO 流量场景,用户在新建 ESSD Auto PL 时除了选择存储容量,还可单独配置额外的 IO 性能上限,实现了 IO 性能与容量解耦。针对可预期的 IO 洪峰,用户可根据业务需求灵活调整 IO 性能,提供可预期的应对能力。

image


对于难以预期的突发业务洪峰,Auto PL 支持性能按需突发模式,提供最大单盘 100W IOPS,4GB/s 的极限 IO 性能,云盘根据实际性能需求自动调整,无需进行 IO 性能预测和规划,充分利用了 ESSD 分布式存储的弹性能力,彻底解决了突发流量下的性能规划问题。该功能采用后付费模式,用户只需按实际发生超出预先配置性能的读写次数付费, 保障业务稳定运行的同时,最大化节省用户的资源配置开销。以某大型互联网电商某突发流量场景为例,该业务原来使用 ESSD PL1,性能上限为 50000 IOPS,350MB/s,在业务突发流量场景,有 2.3% 的云盘打满 PL1 性能上限影响业务,且业务峰值时间较短,流量峰值无法准确预估。传统的需要采用 ESSD PL2 来满足业务突发流量,采用 ESSD Auto PL 并开启按需突发模式,业务存储 TCO 下降 49%。

Auto PL 仍然兼容了 ESSD PL1 的基准性能,标准的 Auto PL 云盘性能表现与 ESSD PL1 完全一致,实现存量客户 & 业务场景无缝切换。另外 ESSD Auto PL 在业界首次同时支持性能按需配置和性能按需突发两种功能,并且可叠加使用,用户可根据实际 IO 流量模型灵活配置。

image


Auto PL技术解析

作为第一个支持性能容量解耦同时支持性能按负载弹性伸缩的云盘, ESSD Auto PL 需要解决很多技术上的挑战:比如如何快速感知业务的负载变化,如何动态按需申请释放资源支持性能伸缩,如何快速平衡负载调度等等。经过反复打磨,ESSD Auto PL 云盘设计了细粒度的云盘切分机制,能够让它均衡使用整个后端存储集群的资源并快速动态调整;通过集群容量/性能水位实时监测和调度、多级 QoS 隔离等保障 IO 性能突发引入的流量冲击和多租户 IO 干扰等问题。


云盘细粒度切分

ESSD Auto PL 支持最大 1000 IOPS/GB,远超 Nand SSD 单位容量的 IOPS 性能。每一块 ESSD 云盘的 LBA 地址空间会被划分为多个条带组,条带组的 IO 被分布式算法打散,分别被不同的存储节点处理,以充分利用 RDMA 网络和高性能存储能力。ESSD Auto PL 设计了细粒度的地址空间管理机制,让小容量云盘也可以充分打散到多个存储节点,实现更大范围的 IO 调度能力,同时大范围的 IO 调度能力也可以降低存储集群单机热点和部分 IO 长尾延迟。

image

多租户隔离和IO优先级管理

EBS 作为典型的多租户服务,突发高吞吐/高 IOPS 流量潜在会影响低负载租户的 IO 延迟,100W IOPS IO Burst 极致性能对隔离能力提出了更高的要求。ESSD 支持实例和云盘两层 QoS,实例 QoS 提供多虚拟机之间的 IO 隔离能力,上限与用户购买实例的 vCPU 核数强相关,部分小规格实例支持存储 credit burst 能力,可累积闲时 IO quota 提供最大 30 分钟的性能突发能力;云盘 QoS 提供实例内各云盘的性能上限,与云盘规格相关。从 VM 发出的 IO 从链路上依次通过云盘、实例两级 QoS,并进行 Burst IO 流量打标,确保在流量拥塞场景下全链路能准确识别 Burst 流量,保证非 Burst 流量得到优先处理。针对 Burst IO 流量引起的系统局部热点和 IO 阻塞,实现了IO 流量 10 毫秒级别的业务负载感知和预测,再秒级别完成动态队列调度和并发度调整,结合硬件卸载的队列动态分发机制、避免在多租户场景下因为弹性提升带来多租户间的性能干扰。

image


多集群性能水位负载均衡

极致的 IO 性能弹性对性能 SLA 引入了新的挑战,特别是 IO 突发性能极限 100W IOPS 引入了更大的流量拥塞风险,为此 ESSD 设计了新的多集群性能水位负载均衡机制。新的智能均衡调度机制由集群/存储节点/IO 线程多级调度组成,根据云盘性能配置,实时监控组件 IO 负载,实现集群内秒级 IO 负载均衡、分钟级别集群间流量调度,当集群/存储节点间流量出现显著性能水位差异时,实时触发云盘热迁移,解决用户大批量云盘负载同时升高的性能争抢问题。

image


总结

ESSD AutoPL 作为未来 ESSD 的主售产品,覆盖面积为当前所有弹性计算面对的行业和客户。AutoPL 具备的灵活性和弹性能力降低了 IT 规模规划难度和因规划不当带来的风险,将会受运维人员或IT资源采购人员青睐。无论是阿里云新增客户,还是存量客户,ESSD AutoPL 都可以作为 ESSD PL1 的替代产品进行购买。AutoPL 为客户的业务突发增长提供了既经济实惠、又简单便利的使用体验,期待大家广泛使用 AutoPL 产品,并且给我们提宝贵的反馈,帮助我们做得更好。我们将继续通过技术创新来提高 ESSD 的性能和服务质量保障能力,提高用户使用体验,为客户提供永不停机的计算服务。



原创作品:阿里云存储 郗鉴

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
带你读《计算机组成与体系结构:性能设计(英文版·原书第10版)》之二:Performance Issues
本书以Intel x86体系结构和ARM两个处理器系列为例,将当代计算机系统性能设计问题与计算机组成的基本概念和原理紧密联系起来,介绍了当代计算机体系结构的主流技术和最新技术。本书作者曾13次获a得美国教材和学术专著作者协会颁发的年度最佳计算机科学教材奖。目前,他是一名独立顾问,为众多计算机和网络制造商、软件开发公司以及政府前沿研究机构提供服务。
567 0
Linux性能测试 ss命令
ss即socket state,也就是说,是可以查看系统中socket的状态的。我们可以用netstat,但为什么还要用ss这个工具呢,当然ss也是有好处的。当我们打开的socket数量很多时,netstat就会变得慢了。
964 0
《高性能Linux服务器构建实战》——1.7节实战Nginx与PHP(FastCGI)的安装、配置与优化
本节书摘来自华章社区《高性能Linux服务器构建实战》一书中的第1章,第1.7节实战Nginx与PHP(FastCGI)的安装、配置与优化,作者:高俊峰,更多章节内容可以访问云栖社区“华章社区”公众号查看
1406 0
《高性能Linux服务器构建实战》——1.4节Nginx的安装与配置
本节书摘来自华章社区《高性能Linux服务器构建实战》一书中的第1章,第1.4节Nginx的安装与配置,作者:高俊峰,更多章节内容可以访问云栖社区“华章社区”公众号查看
1482 0
《高性能Linux服务器构建实战》——1.5节Nginx常用配置实例
本节书摘来自华章社区《高性能Linux服务器构建实战》一书中的第1章,第1.5节Nginx常用配置实例,作者:高俊峰,更多章节内容可以访问云栖社区“华章社区”公众号查看
970 0
阿里云容器服务团队实践——Alluxio优化数倍提升云上Kubernetes深度学习训练性能
近些年,以深度学习为代表的人工智能技术取得了飞速的发展,正落地应用于各行各业。越来越多的用户在云上构建人工智能训练平台,利用云平台的弹性计算能力满足高速增长的AI业务模型训练方面的需求,然而这种“本地存储+云上训练”的训练模式加剧了计算存储分离架构带来的远程数据访问的性能影响。
3399 0
《高性能Linux服务器构建实战》——1.6节Nginx性能优化技巧
本节书摘来自华章社区《高性能Linux服务器构建实战》一书中的第1章,第1.6节Nginx性能优化技巧,作者:高俊峰,更多章节内容可以访问云栖社区“华章社区”公众号查看
896 0
121
文章
1
问答
来源圈子
更多
阿里云存储基于飞天盘古2.0分布式存储系统,产品包括对象存储OSS、块存储Block Storage、共享文件存储NAS、表格存储、日志存储与分析、归档存储及混合云存储等,充分满足用户数据存储和迁移上云需求,连续三年跻身全球云存储魔力象限四强。
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载