RDS PostgreSQL通用云盘IO突发

如果您的业务波动较大,业务波峰较频繁,可以开启通用云盘的IO突发功能,使云盘的IOPS不受限于最大IOPS,在业务波峰时获得更高的IO能力,满足突发业务需求。

简介

通用云盘是RDS PostgreSQL支持的一种新存储类型。在兼容ESSD云盘的所有特性基础上,通用云盘支持IO突发功能,在存储容量不变、IO压力较大等情况下获得更高的IOPS性能。

IO突发性能

通用云盘开启IO突发后,实例可支持的IOPS上限和吞吐量上限会提升,与未开启IO突发相比,区别如下:

说明

主节点开启IO突发功能后,备节点也会同时开启,只读实例不会开启,需要在只读实例详情页开启。

场景

IOPS上限值

吞吐量上限值

未开启IO突发

min{50000+提升IOPS值,实例规格最大IOPS,实例规格最大IO带宽对应的IOPS,1800+50x存储空间+提升IOPS值}

min{350+提升的IO带宽值,实例规格最大IO带宽,120+0.5x存储空间+提升的IO带宽值}(单位:MB/s)

已开启突发

min{1000000,实例规格最大IOPS,实例规格最大IO带宽对应的IOPS}

min{4000,实例规格最大IO带宽}(单位:MB/s)

说明
  • 吞吐量达到上限时,会影响IOPS;IOPS达到上限时,也会影响吞吐量。

  • 上述公式不适用于通用型规格的云盘实例,因通用型规格共享资源,无法保证最大IOPS和最大IO带宽。

  • 上述公式里的实例规格最大IOPS和最大IO带宽,请参见RDS PostgreSQL主实例规格列表

  • 上述公式里的实例规格最大IO带宽对应的IOPS计算方式为:实例规格最大IO带宽(Gbit/s)x1024x1024÷8÷8,其中从左到右第一个8表示1Byte=8bits,第二个8表示RDS PostgreSQL一次读写占用的数据量为8KB。

适用场景

业务高峰、大事务、全表扫描、返回大量数据的查询等都会造成IO负载升高,有时CPU、内存、存储空间相对充足,但IO使用率接近或达到了100%。这种情况下,只能升级实例配置或者存储级别(比如PL1到PL2)。

  • 如果不升级,IO负载超过了实例的IO上限,会导致实例性能降低、查询超时、甚至连接异常。

  • 如果升级实例配置,IO性能满足需求,但会造成CPU、内存、存储空间的闲置和浪费。

  • 如果升级存储级别,短期内能充分利用IO性能,但IO负载回落后,较高的存储级别也是一种资源和成本浪费。

通用云盘的IO突发功能可以解决这些问题。开启IO突发功能后,高IO负载时,自动触发IO突发,提升IO上限,IO负载回落后,自动恢复IO上限,实现Serverless的IO性能,避免IO性能和成本的浪费。

功能优势

相对于升级实例配置或存储级别的方案,通用云盘的IO突发功能有多项优势,可以显著节约成本。

  • 仅针对IO突发量进行计费。

  • 按秒计算IO突发量。

  • 为IO突发量提供免费额度,仅超出免费额度的IO突发量会收取费用。

计费

通用云盘IO突发功能正在进行费用减免活动,2024年04月16日起,IO突发功能免费使用。详情请参见【活动/调价】RDS通用云盘"IO突发"费用减免活动。活动结束后,将开始计费,但您将享有部分免费额度,只有超出部分才需收费。

计费方式

通用云盘费用=存储费用+IO突发费用

  • 存储费用:RDS PostgreSQL实例存储空间的费用,支持包年包月和按量付费。计费方式与ESSD PL1云盘相同,详情请参见计费项

  • IO突发费用:每小时实例的IO突发费用=(实例各节点IO突发量总和-免费额度)xIO突发单价

    说明

    RDS实例(含主节点、备节点)的通用云盘的IO突发量费用,仅支持按量付费。在开启了IO突发,并且IO突发量超过免费额度时计费。

    • 实例各节点的IO突发量之和

      RDS系列

      实例IO突发量

      基础系列

      单节点IO突发量

      高可用系列

      主节点IO突发量+备节点IO突发量

      集群系列

      主节点IO突发量+所有备节点IO突发量

      单节点IO突发量计算方法

      场景

      IO突发量

      示例

      仅IOPS超过基准IOPS,吞吐量未超过基准吞吐量

      (IOPS-基准IOPS)x时长

      说明

      基准IOPS可参考未开启IO突发时的IOPS上限值。

      实例IOPS比基准IOPS超出4,000,并持续2秒,则IO突发量为4,000x2=8,000

      仅吞吐量超过基准吞吐量,IOPS未超过基准IOPS

      (吞吐量-基准吞吐量)x1024x时长÷16

      说明
      • 基准吞吐量可参考未开启IO突发时的吞吐量上限值。

      • 吞吐量单位为MB/s,时长单位为秒。

      16为折算系数。

      实例吞吐量比基准吞吐量超出8 MB/s,并持续2秒,则IO突发量为8x1024x2÷16=1,024

      IOPS超过基准IOPS,且吞吐量超过基准吞吐量

      max{(IOPS-基准IOPS)x时长,(吞吐量-基准吞吐量)x1024x时长÷16}

      说明

      吞吐量单位为MB/s,时长单位为秒。

      (IOPS-基准IOPS)x时长计算得8,000,(吞吐量-基准吞吐量)x1024x时长÷16计算得65,536,则最终IO突发量为65,536。

      说明
      • 当主节点承受较高的IO压力并产生突发IO时,备节点为了能够保证数据和服务的一致性,也会相应地产生突发IO。备节点IO突发量与主节点IO突发量基本相同。

      • 只读实例的IO突发功能需要单独开启,计费标准与主节点相同。如果只读实例为高可用系列,则费用包含主节点和备节点的IO突发费用。

    • 免费额度

      RDS提供一定的通用云盘IO突发量免费使用额度,当使用的IO突发量超出免费额度时,对于不同的产品系列,RDS PostgreSQL会收取一定的通用云盘IO突发费用。

      产品系列

      免费额度

      基础系列

      30万 IO/小时

      高可用系列

      60万 IO/小时

      集群系列

      80万 IO/小时

    • IO突发单价0.02元/万IO

      说明

      超出免费额度的IO突发量如果不足1万,按1万计费。

计费示例

示例场景

RDS PostgreSQL实例基本信息:北京地域、高可用系列,存储空间为1000 GB。基准IOPS 5万,每秒突发量 2万,1小时内突发持续40秒,一个月内每小时均有突发。

该示例场景的IO突发量费用计算如下:

IO突发量

80万IO/小时

免费额度

60万IO/小时

超出部分

20万IO/小时

单价

0.02元/万IO

实际产生的IO突发费用

0.02x(80-60)x24x30=288元

由此,我们可以得出如下对比:

说明

示例中的价格仅供参考,实际价格请以控制台显示为准。

存储类型

存储单价(元/每月)

存储费用(元)

IO突发费用(元)

总费用(元/月)

通用云盘

1600

1600x1=1600

288

1600+288=1888

ESSD PL2云盘

3200

3200x1=3200

不涉及

3200

通用云盘相对于ESSD PL2云盘每月节省:3200-1888=1312元

说明

在一定时间周期内,实例高IO持续时间越短,通用云盘相对于ESSD PL2云盘更划算。

开启IO突发

说明
  • 开启或关闭IO突发功能,需数分钟,具体时间与实例的使用情况(读写流量)有关。

  • 开启或关闭IO突发功能的过程中没有闪断,一般情况下对业务无影响。少数情况下实例的IOPS会有波动,建议在业务低峰期操作。

RDS PostgreSQL支持在购买新实例时开启IO突发,也支持对已有的通用云盘实例开启IO突发。

  • 购买新实例时开启IO突发

    您可以在购买实例时,选择存储类型为通用云盘后,开启IO突发功能:

    image

  • 已有的通用云盘实例开启IO突发

    1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

    2. 基本信息区域,单击存储类型后的通用云盘开关设置,在弹出的对话框中,打开IO突发开关。

      image

相关文档

  • RDS PostgreSQL支持的其他存储类型,请参见存储类型介绍

  • 通用云盘的更多介绍,请参见通用云盘

  • 当您需要应对数据库磁盘IO性能瓶颈时,云数据库RDS PostgreSQL的通用云盘IO加速功能为您提供了一个高效的解决方案,帮助您在面临大规模或频繁数据读写需求时显著提升数据库IO性能,更多信息,请参见IO加速