写点什么

使用 Amazon EBS 优化实例突发功能提高应用程序性能并降低成本

  • 2019-10-07
  • 本文字数:2216 字

    阅读完需:约 7 分钟

使用 Amazon EBS 优化实例突发功能提高应用程序性能并降低成本

2017 年,Amazon EC2 引入 C5 计算密集型实例和 M5 通用型实例。2018 年,我们通过向 EC2 C5 和 M5 实例系列添加高速、超低延迟的本地 NVMe 存储,推出了 EC2 C5d 实例和 M5d 实例。EC2 C5/C5d 和 M5/M5d 实例均以 Nitro 系统为基础构建。AWS 构建的这一软件和硬件集合可实现高性能、高可用性、高安全性以及裸机功能,以降低虚拟化开销。


在 Nitro 系统的设计过程中,我们对真实世界的工作负载进行了分析,意识到需要利用更小的实例大小来通过 Amazon EBS 卷提升性能。我们发现,多数应用程序的存储需求是突发性的,具有短而密集的 I/O 周期,而突发的需求之间存在大量空闲时间。为改善这些工作负载的体验,我们研发了适用于小型实例大小的突发功能。可在 EC2 C5/C5d 和 M5/M5d 实例上使用,该功能使 large、xlarge 和 2xlarge 大小的实例每天能够实现与 4xlarge 实例相同的性能至少 30 分钟。


对具有突增 Amazon EBS 需求的应用程序,您可以根据 CPU 和内存需求调整实例大小,同时仍可满足 EBS 经过优化的实例的性能要求。这种更高的性能还让您能够根据 EBS 经过优化的实例性能对工作流的各个部分进行加速。更快的工作流可以加快作业完成速度并提高资源利用率。这种突发功能最终可以通过调整实例大小并提高总体资源利用率来降低成本。


随着这种性能的提升,您将可以处理意外的需求高峰,且不会对应用程序的性能造成影响。现在,您可以依据历史平均趋势来调整实例大小。这种突发功能可让您在不影响客户体验的前提下,提供更佳性能以承受峰值。

利用 Amazon CloudWatch 指标监控突发使用情况

为了更好地了解性能,基于 Nitro 系统的实例提供 Amazon CloudWatch 指标,以帮助您分析使用情况。您可以依据使用情况确定满足需求的更小实例。


在这些实例中,您可以通过实例级 CloudWatch 操作指标(EBSReadOps 和 EBSWriteOps)和传输的字节(EBSReadBytes 和 EBSWriteBytes)来监控使用情况。有关这些指标的更多信息,请参见列出实例的可用 CloudWatch 指标。默认情况下,这些指标支持基本监控(五分钟一次),但您可以启用详细监控(一分钟一次),不过需要额外支付费用。有关更多信息,请参见 Amazon CloudWatch 定价。


对于 large、xlage 和 2xlarge 实例,我们还提供突发均衡指标。 EBSIOBalance% 用于监控实例的 I/O 突发存储桶,EBSByteBalance% 则用于监控实例的字节突发存储桶。这些指标提供相应突发存储桶中留存的 I/O 或字节积分百分比相关的信息。这些指标以百分比的形式表示,其中 100% 表示该实例已累计达到最大积分数。您可以设置均衡过低时触发的警报。


我们启动一个 m5.large 实例来演示这些指标。然后,为改实例附加一个带有 32000 个预配置 IOPS 的 500GB io1 Amazon EBS 卷。基于 Nitro 系统的实例中附加的 Amazon EBS 卷展示为 NVMe 设备。




首先,我们使用 fio 在 /dev/disk/by-id/nvme-Amazon_Elastic_Block_Store_vol02f2f9a66c2ebfd66 中运行大型数据块 (128KiB) 测试,并监控 EBSIOBalance% 和 EBSByteBalance%。


$ sudo fio –filename= /dev/disk/by-id/nvme-Amazon_Elastic_Block_Store_vol02f2f9a66c2ebfd66 –rw=randread –bs=128k –runtime=2400 –time_based=1 –iodepth=32 –ioengine=libaio –direct=1 –name=large-block-test
复制代码


由于这是一项大型数据块工作负载,因此不会产生足够的 IOPS,耗尽 EBSIOBalance%,而是会耗尽 EBSByteBalance%,如下图所示。



然后我们再运行一个小型数据块测试,了解它对 EBSIOBalance% 和 EBSByteBalance% 造成的影响。


$ sudo fio –filename= /dev/disk/by-id/nvme-Amazon_Elastic_Block_Store_vol02f2f9a66c2ebfd66 –rw=randread –bs=16k –runtime=2400 –time_based=1 –iodepth=32 –ioengine=libaio –direct=1 –name=small-block-test
复制代码


由于这是一个小型数据块测试,会比字节/秒产生更高的 IOPS。因此,EBSIOBalance% 比 EBSByteBalance% 下降更快,如下图所示。



只要 EBSIOBalance% 和 EBSByteBalance% 高于 0%,该实例就可以产生突发性能。当实例的 I/O 活动低于基准率时,突发存储桶会重新填充。测试完成后,我们暂停实例中的所有 I/O。这段非活动时间可让实例的突发存储桶重新填充,如下图中的 EBSIOBalance% 和 EBSByteBalance% 所示。



突发存储桶的重新填充速率为基准速率和实例 I/O 活动之间的差值。例如,m5.large 的基准吞吐率为 60MB/s,基准 IOPS 速率为 3600 IOPS。假设实例的 I/O 活动为 10MB/s 和 1000 IOPS。字节存储桶会以 50MB/s(60MB/s 减 10MB/s)的速率填充。IOPS 存储桶会以 2600 IOPS(3600 IOPS 减 1000 IOPS)的速率填充。有关不同实例的基准速率,请参见 Amazon EBS 优化实例。此外,我们每 24 小时对突发存储桶进行填充,这意味着,该实例每天至少可使用 30 分钟的突发性能。

性能增强

我们持续对 Nitro 系统进行改进。通过增强功能集合,我们将 large、xlarge 和 2xlarge EC2 C5/C5d 和 M5/M5d 实例的最大突发带宽从 2.25Gbps 和 2.12Gbps 提高到了 3.5Gbps。我们还将 EC2 C5/C5d 和 M5/M5d 的最大突发 IOPS 从 16000 IOPS 分别提升到了 20000 IOPS 和 18750 IOPS。所有新的 EC2 C5/C5d 和 M5/M5d 更小型实例都可以享受这些性能提升,且无需额外费用。


有关支持这种突发功能的基于 Nitro 系统的实例列表和相应数据,请参见 Amazon EBS 优化实例。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/amazon-ebs-case-function-improve-cost-reduce/


2019-10-07 15:501147
用户头像

发布了 1950 篇内容, 共 165.0 次阅读, 收获喜欢 81 次。

关注

评论

发布
暂无评论
发现更多内容

首发!百度百科全系能力上线千帆,权威知识增强Agent一键打造

百度Geek说

深度解读《指标+ AI 数智应用白皮书》,开辟智能问数与分析决策新范式

袋鼠云数栈

AI 数字化转型 指标 指标管理 数智应用

基于YOLOv8的农作物叶片病害、叶片病斑精准识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!

申公豹

yolov8

Package Builder Mac安装包pkg制作工具

晨光熹微

MD文档转换工具Deckset for Mac

晨光熹微

强大专业的HTML文本代码编辑器BBEdit for mac

晨光熹微

从分析到优化:Amazon Q CLI 助力 EKS 网络调用链剖析与运维实践

亚马逊云科技 (Amazon Web Services)

SeaTunnel 云仓连接器使用指南 | AI 助手解读系列

白鲸开源

开源 云数据仓库 Seatunnel AIGC AI 文档

性能优化:两条SQL索引优化,CPU占用率从40%降至25%

电子尖叫食人鱼

数据库 sql

RustRover 2025 for Mac 高效Rust开发工具

晨光熹微

3D建模解决方案Agisoft Metashape Professional for mac

晨光熹微

「宇树科技」启动IPO,商业化瓶颈剖析和近30家产业链公司梳理

机器人头条

人形机器人 具身智能 宇树科技 智元机器人

LazyLLM教程 | 第1讲:RAG原理解读:让检索增强生成不再是黑盒

商汤万象开发者

AI 教程 agent LLM

2025 年非关系型数据库全面指南:类型、优势

镜舟科技

sql 数据分析 数据存储 非关系型数据库 StarRocks

RDS (Relational Database Service) 介绍

SkyBuilds

AeroSpace - macOS上的i3风格平铺窗口管理器

qife122

macos swift

三角洲护航代练系统架构设计,基于WebSocket的实时护航通信系统实现

DUOKE七七

vue.js uniapp thinkphp6

Dropzone 4 for Mac 文件快捷拖放管理工具

晨光熹微

Airmail 5 for Mac 轻量级邮件客户端

晨光熹微

二次开发必看!DolphinScheduler 3.1.9 开发环境搭建指南

白鲸开源

大数据 开源 大数据任务调度 Apache DolphinScheduler 二次开发

破 400!Apache SeaTunnel 成为全球开发者共建热土

白鲸开源

人工智能 开源 云数据仓库 Apache SeaTunnel AI 文档

【HarmonyOS 5】鸿蒙App,Application,Ability以及页面和组件生命周期函数

GeorgeGcs

微信公众号/小程序百万级OpenID自动化获取工具

Allen_Lyb

微信

Perfectly Clear Workbench for mac智能图片瑕疵处理工具

晨光熹微

PhotoSweeper X for Mac 重复照片清理工具

晨光熹微

万界星空科技铜线/漆包线行业智能化MES系统解决方案

万界星空科技

mes 漆包线mes 铜线mes 漆包线 漆包线工厂

DataSpell 2025 for Mac 专业数据科学家的IDE

晨光熹微

Plug And Mix VIP Bundle 人声处理插件

晨光熹微

基础模型选择指南:如何为生成式AI投资保驾护航?

澳鹏Appen

基础模型 生成式 AI 应用 IDC报告

优测推出HarmonyOS全场景测试服务,解锁分布式场景应用卓越品质!

优测云服务平台

HarmonyOS harmony HarmonyOS NEXT

使用 Amazon EBS 优化实例突发功能提高应用程序性能并降低成本_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章