Azure Database for MySQL - 灵活服务器中的自动缩放 IOPS

适用于:Azure Database for MySQL - 灵活服务器

存储 IOPS (每秒 I/O 操作数)是指存储系统每秒可以执行的读取和写入操作数。 IOPS 值越高,存储性能越好,使数据库能够处理更多同时读取和写入操作,从而加快数据检索速度并提高整体效率。 当 IOPS 设置太低时,数据库服务器在处理请求时可能会遇到延迟,从而导致性能降低和吞吐量降低。 另一方面,如果 IOPS 设置太高,可能会导致不必要的资源分配,并且可能会增加成本,而不会显著提高性能。

Azure Database for MySQL 灵活服务器目前提供两个 IOPS 管理设置:预先预配 IOPS 和自动缩放 IOPS。

预先预配的 IOPS

Azure Database for MySQL 灵活服务器提供了预先预配的 IOPS,因此可以将特定的 IOPS 数分配给 Azure Database for MySQL 灵活服务器实例。 此设置可确保工作负载的一致且可预测的性能。 使用预先预配的 IOPS,可以为存储卷定义特定的 IOPS 限制,从而保证每秒处理一定数量的请求。 这会产生可靠且有保证的性能级别。

此外,预先预配的附加 IOPS 是指提高与服务器关联的存储卷的预配 IOPS 的灵活性。 可以选择添加超出默认预配级别的额外 IOPS,以便随时根据工作负载要求自定义性能。

自动缩放 IOPS

自动缩放 IOPS 提供按需缩放 IOPS 的灵活性,无需每秒预先预配特定数量的 IO。 通过启用自动缩放 IOPS,服务器将根据工作负载要求自动调整 IOPS。 启用自动缩放 IOPS 后,现在可以在 Azure Database for MySQL 灵活服务器中享受无忧的 IO 管理,因为服务器会根据工作负载需求自动纵向扩展或缩减 IOPS。

动态缩放:自动缩放 IOPS 会根据工作负载的实际需求,动态调整数据库服务器的 IOPS 限制。 这可确保无需手动干预或配置即可获得最佳性能。

处理工作负载峰值:自动缩放 IOPS 使数据库能够无缝处理工作负载峰值或波动,而不会影响应用程序的性能。 此功能可确保即使在高峰使用期间也能保持稳定的响应能力。

成本节省:与指定固定的 IOPS 限制且费用与用量无关的预先预配的 IOPS 不同,自动缩放 IOPS 让你可以只为使用的 I/O 操作数付费。 使用此功能,只需为服务器实际使用的 IO 付费,避免不必要的预配和未充分利用资源的费用。 这可确保成本节省和最佳性能,使其成为高效管理数据库工作负载的明智选择。

监视存储性能

监视下的指标可轻松监视存储 IOPS 利用率。

概述

获取所选时间段内 IO 利用率的综合视图。 导航到“概述”边栏选项卡下的 Azure Database for MySQL灵活服务器 Azure 门户中的“监视”。

Screenshot of overview metrics.

增强型指标工作簿

  • 导航到 Azure 门户上的“监视”部分下的“工作簿”。
  • 选择“增强型指标”工作簿。
  • 检查工作簿的“概述”部分下的“存储 IO 百分比”指标。

Screenshot of enhanced metrics.

监视下的指标

  • 导航到 Azure 门户上的“监视”部分下的“指标”。
  • 选择“添加指标”选项。
  • 从可用指标的下拉列表中选择“存储 IO 百分比”。
  • 从可用指标的下拉列表中选择“存储 IO 计数”。

Screenshot of monitoring metrics.

选择最佳 IOPS 设置

了解了如何有效地监视 IOPS 使用情况后,现在可以探索服务器的最佳设置。 为 Azure Database for MySQL 灵活服务器实例选择 IOPS 设置时,应考虑几个重要因素。 了解这些因素有助于做出明智的决策,以确保工作负荷获得最佳性能和成本效益。

性能优化

使用自动缩放 IOPS,可以满足工作负载的一致要求,这是可以预测的,而不会面临增加更多 IOPS 的存储限制和手动交互的缺点。 如果工作负荷具有一致的吞吐量或需要一致的 IOPS,则预预配的 IOPS 可能更可取。 它提供可预测的性能级别,并且 IOPS 的固定分配与指定限制内的工作负荷相关联。 尽管对于通常要求更高的吞吐量的任何要求,可以使用预先预配的 IOPS 分配额外的 IOPS,这需要手动交互和了解吞吐量增加时间。

限制的影响

考虑限制对工作负荷的影响。 如果担心由于限制而可能降低性能,则自动缩放 IOPS 可以动态处理工作负荷高峰,从而将限制的风险降到最低,并将性能维持在最佳级别。

最终,自动缩放和预先预配 IOPS 之间的决策取决于特定的工作负载要求和性能预期。 分析工作负载模式,评估成本影响,并考虑限制的潜在影响,以做出符合优先级的明智选择。 通过考虑数据库工作负载的特定特征(例如流量波动、查询模式和性能要求),可以就自动缩放和预先预配 IOPS 之间的选择做出明智的决策。

工作负载注意事项 预先预配的 IOPS 自动缩放 IOPS
具有一致且可预测的 I/O 模式的工作负载 建议使用,因为它仅利用预配的 IOPS 兼容,无需手动预配 IOPS
具有不同使用模式的工作负载 不建议使用,因为它可能无法在高使用率时段提供高效的性能 建议使用,因为它会自动调整以处理不同的工作负载
具有动态增长或不断变化的性能需求的工作负载 不建议这样做,因为它需要根据不断变化的 IOPS 要求进行持续调整 建议使用,因为对于特定的吞吐量要求,不需要额外的设置

成本注意事项

如果工作负荷波动且峰值不可预知,选择自动缩放 IOPS 可能更具成本效益。 它可确保只需为高峰期使用的较高 IOPS 付费,从而提供灵活性和成本节省。 预先预配 IOPS 虽然提供一致且最大 IOPS,但成本可能更高,具体取决于工作负载。 请考虑服务器所需的成本和性能之间的权衡。

测试和评估

如果不确定最佳 IOPS 设置,请考虑使用自动缩放 IOPS 和预先预配 IOPS 运行性能测试。 评估结果并确定哪个设置符合工作负载要求和性能预期。

示例工作负载:电子商务网站

如果你拥有一个电子商务网站,该网站全年流量波动。 在正常时段,工作负荷适中,但在节假日或特殊促销期间,流量呈指数级增长。

自动缩放 IOPS:使用自动缩放 IOPS,数据库可以动态调整其 IOPS,以处理高峰期增加的工作负载。 当流量高峰(例如在黑色星期五销售期间)时,自动缩放功能允许数据库无缝纵向扩展 IOPS 以满足需求。 这可确保性能平稳且不间断,防止减速或服务中断。 高峰期过后,当流量消退时,IOPS 会缩减,从而节省成本,因为只需为激增期间使用的资源付费。

预先预配 IOPS:如果选择预先预配 IOPS,则需要估算最大工作负荷容量,并相应地分配固定数量的 IOPS。 但是,在高峰期,工作负荷可能会超出预定的 IOPS 限制。 因此,存储 I/O 可能会受到限制,影响性能,并可能导致用户的延迟或超时。

示例工作负载:报告/数据分析平台

假设你有用于数据分析的 Azure Database for MySQL 灵活服务器,用户在其中提交复杂的查询和大规模数据处理任务。 工作负荷模式相对一致,全天有稳定的查询流。

预先预配 IOPS:使用预先预配的 IOPS,可以根据预期的工作负荷选择适当数量的 IOPS。 只要所选的 IOPS 能够充分处理每日查询量,就不存在限制或性能下降的风险。 此方法提供成本可预测性,并允许高效优化资源,而无需动态缩放。

自动缩放 IOPS:在这种情况下,自动缩放功能可能不会提供显著优势。 由于工作负荷是一致的,因此可以使用固定数量的 IOPS 预配数据库,轻松满足需求。 自动缩放可能没有必要,因为没有需要额外 IOPS 的活动突发。 通过使用预先预配 IOPS,无需缩放即可获得可预测的性能,并且成本直接与分配的存储相关。

常见问题解答

如何从预先预配的 IOPS 迁移到自动缩放 IOPS?

  • 访问 Azure 门户并找到相关的 Azure Database for MySQL 灵活服务器。
  • 转到“设置”边栏选项卡,然后选择“计算 + 存储”部分。
  • 在“IOPS”部分中,选择“自动缩放 IOPS”并保存设置以应用修改。

更改后,自动缩放 IOPS 多久才会生效?

为 Azure Database for MySQL 灵活服务器启用自动缩放 IOPS 并保存设置后,更改将在部署到资源成功完成后立即生效。 这意味着自动缩放 IOPS 功能将毫不延迟地应用于数据库。

时间点还原 (PITR) 操作如何影响 IOPS 使用情况?

在 Azure Database for MySQL - 灵活服务器中的 PITR 操作期间,将创建新服务器,并将数据从源服务器的存储复制到新服务器的存储。 此过程会导致源服务器上的 IOPS 使用量增加。 这种 IOPS 用量的增加是正常现象,并不表示源服务器或 PITR 操作有任何问题。 PITR 操作完成后,源服务器上的 IOPS 用量将回到其常规级别。 有关 PITR 的详细信息,请参阅 Azure Database for MySQL - 灵活服务器文档中的备份和还原部分

当服务器使用自动缩放 IOPS 功能时,如何知道 IOPS 何时已纵向扩展和缩减? 或者是否可以监视服务器的 IOPS 使用情况?

请参阅“监视存储性能”部分,这将有助于确定你的服务器在特定时间范围内进行了纵向扩展还是缩减。

以后是否可以在自动缩放 IOPS 和预先预配 IOPS 之间切换?

是的,可以通过在“设置”边栏选项卡下的“计算 + 存储”部分下选择预先预配的 IOPS,返回到预先预配的 IOPS。

如何知道 Azure Database for MySQL 灵活服务器已使用多少 IOPS?

导航到“概述”部分下的“监视”,或导航到“监视”边栏选项卡下的 IO 计数指标。 “IO 计数指标”提供服务器在所选时间范围内使用的 IOPS 之和。

后续步骤

  • 了解有关服务限制的详细信息。
  • 详细了解定价信息。