使用性能缩放选项优化性能和成本
通过将组织的关键工作负载迁移到 Azure,可提供一系列基础结构要求,例如可缩放性能、内置安全性、持久性和成本优化。
其中许多基础结构要求与块存储直接相关,块存储是 Azure 磁盘存储的基础。
为关键应用程序选择的磁盘类型和大小直接影响应用程序的性能,如果选择不合适的选项,则会产生更高成本。
为了帮助你优化性能和成本,Azure 磁盘存储还提供用于缩放性能以满足工作负荷需求并控制成本的功能。
以下部分讨论性能选项不适用于超级磁盘或高级 SSD v2 托管磁盘。 超级磁盘和高级 SSD v2 托管磁盘的性能属性可以根据需要独立调整,这些磁盘没有层或突发。
Azure 磁盘存储的性能层
仅对于高级 SSD 托管磁盘,可根据需要选择合适的性能层来调整和平衡磁盘的 IOPS 和吞吐量。 若要选择合适的组合,应注意应用程序需求。 I/O 高的应用程序(如数据库服务器或联机事务处理系统)需要更高的 IOPS。
你可能会遇到一些计划的事件,例如季节性促销或性能测试,在此期间,应用程序临时有更高的性能需求。 当需要满足更高的性能需求时,可更改高级 SSD 磁盘的性能层来优化成本,而无需增加磁盘大小。 例如,将营销应用程序预配为使用性能层为 P4 的高级 SSD 磁盘,该性能层受到的限制为 120 IOPS 和 25 MB/秒。 由于季节性销售的原因,营销应用程序大受欢迎,你需要临时满足更高的容量需求。 你可将 P4 磁盘的性能层调到更高层级,例如具有 5,000 IOPS 和 200 MB/s 吞吐量的 P30。 市场营销活动结束时,你可将磁盘层级更改回原始的 P4 层。 在使用更高性能层期间,需按该层价格付费。 在本例中,需按 P30 价格付费。
在使用高级 SSD 磁盘时更改其性能层
可以更改高级 SSD 磁盘的性能层,无需停机,也无需从虚拟机 (VM) 中卸除磁盘。
可使用 Azure CLI 或 Azure 门户更改磁盘的性能层。
在 Azure CLI 中,使用以下命令更改磁盘性能层:
subscriptionId="yourSubscriptionID"
resourceGroupName="yourResourceGroupName"
diskName="yourDiskName"
performanceTier="yourDesiredPerformanceTier"
az login
az account set --subscription $subscriptionId
az disk update -n $diskName -g $resourceGroupName --set tier=$performanceTier
Azure 磁盘突发
对于短期内需要高性能的计划外事件,可从 Azure 磁盘的磁盘突发功能中获益。 磁盘突发可缩短启动时间、管理小型批处理作业的处理,还能应对意外的流量高峰。
Azure 为 VM 和磁盘提供此功能,它可单独使用。
VM 突发
VM 突发仅支持基于额度的模型进行突发,这不需要任何配置。 使用 VM 时,如果资源的 IOPS 或吞吐量小于资源的性能目标,它会累积额度。 可使用这些额度以最大突发速率进行长达 30 分钟的性能突发。
磁盘突发
磁盘存储有两种突发模型:
- 基于额度的突发模型。 基于额度的模型,在该模型下,仅当磁盘在其额度桶中累积了突发额度时,磁盘才会突发。 此模型在磁盘突发时不会产生额外费用。 基于额度的突发仅适用于 512 GiB 及更小的高级 SSD 托管磁盘,以及 1,024 GiB 及更小的标准 SSD。
- 按需突发模型。 按需突发模式,在该模式下,磁盘在其需求超出其当前容量时突发。 每当磁盘突发时,此模型都会产生额外费用。 按需突发仅适用于大于 512 GiB 的高级 SSD 托管磁盘。 若要配置按需突发,必须将磁盘从 VM 拆离出来。
可使用 Azure PowerShell、Azure CLI 或 ARM 模板启用按需突发。 可在新磁盘和现有磁盘上启用此功能。
在 Azure PowerShell 中,使用以下命令创建可按需突发的空数据磁盘:
Set-AzContext -SubscriptionName "yourSubscriptionName"
$diskConfig = New-AzDiskConfig -Location "WestCentralUS" -CreateOption Empty -DiskSizeGB 1024 -SkuName Premium_LRS -BurstingEnabled $true
$dataDisk = New-AzDisk -ResourceGroupName "myResourceGroupDisk" -DiskName "myDataDisk" -Disk $diskConfig
注意
如果应用程序中需要更高的持续性能,请使用此功能来更改性能层,而不是使用磁盘突发。 此选项比磁盘突发更加经济高效。
性能增强(预览版)
对于具有 513 GiB 及更高容量的高级 SSD、标准 SSD 和标准 HDD,可以通过启用性能增强来提高每秒输入/输出操作数 (IOPS) 和吞吐量限制。 启用性能增强(预览版)可改善需要高 IOPS 和吞吐量的工作负载(例如数据库和事务工作负载)的体验。 在磁盘上启用性能增强无需额外付费。
有关性能增强(包括限制)的详细信息,请参阅提高 Azure 高级 SSD 和标准 SSD/HDD 的 IOPS 和吞吐量限制
成本
在决定哪种磁盘类型最能满足需求之前,请考虑该磁盘的计费方式。 对于每种磁盘类型,磁盘的总成本的计算方式不同。
以下因素决定了磁盘的成本:
- 部署磁盘的区域(所有磁盘)
- 磁盘大小(所有磁盘)
- 涉及磁盘的事务数(标准 HDD 和标准 SSD 的所有事务。对于高级 SSD,仅限突发事务)
- 选择的冗余选项(仅限标准 SSD 和高级 SSD)
- 按需突发的启用/禁用设置(仅限高级 SSD)
- 磁盘的 IOPS(仅限超级磁盘和高级 SSD v2)
- 磁盘的吞吐量(仅限超级磁盘和高级 SSD v2)
有关托管磁盘所涉及的成本的更多详细信息,请参阅定价页。
事务
在 Azure 上,每秒输入/输出操作 (IOPS) 和事务类似,但有一个主要例外:
Azure 上的事务是小于或等于 256 KiB 吞吐量的 I/O 操作。 如果 IO 操作的吞吐量大于 256 KiB,则需要多个事务。 事务数的计算方法是将 I/O 大小除以 256 KiB。
例如,大小为 1024 KiB (1MiB) 的 IO 将在标准 SSD 磁盘上作为 4 个事务进行处理。
标准 SSD 对一小时内计费的事务数设置了上限。 超过该上限后,该小时内的其余事务将免费。 有关详细信息,请参阅标准 SSD 事务上限。
使用最佳选项优化性能和成本
现在你已了解不同性能指标如何定义 Azure 磁盘的整体性能,接下来了解一些用例场景:
- 计划内与计划外的性能缩放:如果你遇到一个计划内事件(如市场营销活动),它需要持续提高磁盘性能,那么请使用性能层来更好地适应增加的负载。 但是,如果无法提前规划或无法准确预测工作负荷的性能模式,则磁盘突发是更佳选择。 它提供超出预配目标的更高限额。
- Duration:对于因短期运行的作业或 I/O 计划变动而导致高需求的情况,按需磁盘突发更加经济高效,因为你只需为突发事务付费。 如果工作负载未超出预配目标,则你只需支付突发启用费用,这占磁盘成本的一小部分。 相反,如果你预期工作负荷会突发多日甚至更久,则性能层是更佳选择。
基于额度的突发 | 按需突发 | 更改性能层级 | |
---|---|---|---|
方案 | 适用于短期缩放(30 分钟或更少)。 | 适用于短期缩放(不受时间限制)。 | 如果你的工作负载将继续突发运行,则这是理想之选。 |
成本 | 可用。 | 成本是可变的。 有关详细信息,请参阅计费。 | 每个性能层的成本是固定的。 有关详细信息,请参阅托管磁盘定价。 |
可用性 | 仅适用于高级 SSD 磁盘和标准 SSD 磁盘 512 GiB 及更小的磁盘。 | 仅适用于大于 512 GiB 的高级 SSD 磁盘。 | 适用于所有高级 SSD 磁盘大小。 |
支持 | 默认情况下,在合格磁盘上启用。 | 用户必须启用它。 | 用户必须手动更改其性能层。 |