使用场景
弹性资源池包周期CU(规格)变更可以根据业务实际的资源使用需求,调整资源池的资源配置和计费模式,以实现资源的高效利用和成本优化。
包年包月的弹性资源池CU数在包周期CU(规格)的范围内使用包年包月计费,超过包周期CU(规格)的部分则按弹性资源池CU时计费的方式计费,您可以根据实际CUs的使用情况通过规格变更来使得计费更优惠。
例如,当前弹性资源池的包周期CU(规格)为64CU,实际使用过程中大部分时间CU数在128CU以上,没有规格变更的场景下64CU部分采用包年包月计费,超出的64CU按弹性资源池CU时计费方式计费。为了满足该场景下更优惠的计费,则可以通过规格变更的方式,将弹性资源池的规格扩大到128CU,则规格变更成功后128CU范围内都使用包年包月计费,整体相比原来更优惠。
简言之弹性资源池的包周期CU(规格)变更可以将正在使用中的超出包周期CU(规格)的资源的计费模式从按需转换为包周期,以实现资源的高效利用和成本优化。
注意事项
- 当前仅支持包年包月计费模式的弹性资源池进行包周期CU(规格)变更。
- 调整队列的CU范围、弹性资源池包周期CU(规格)变更、弹性资源池的CU设置,均在下一个整点生效。
- 通过增加队列调整弹性资源池的实际CUs,立即生效。
弹性资源池相关基本概念
本节介绍弹性资源池实际CUs、已使用CUs、CU范围、包周期CU(规格)的含义。
关系图和相关约束
- 实际CUs在CU范围的[最小值, 最大值]区间内随队列负载自动弹性。
- 当实际CUs ≤ 包周期CU时,全部按包周期单价计费,无按需费用。
- 当实际CUs > 包周期CU时,差额按按需单价每小时补收。
图1 DLI实际CUs 、已使用CUs、CU范围、包周期CU关系图
弹性资源池CU设置相关约束:
- 弹性资源池CU范围minCU小于等于实际CUs,如果扩容时minCU的目标值大于实际CUs,需要先扩容实际CUs,否则修改失败。
- 弹性资源池中所有队列的最小CU数之和需要小于等于弹性资源池的最小CU数。
- 弹性资源池中任意一个队列的最大CU必须小于等于弹性资源池的最大CU。
- 调整队列的CU范围、弹性资源池包周期CU变更、弹性资源池的CU设置,均在下一个整点生效。
- 通过增加队列调整弹性资源池的实际CUs,立即生效。
已使用CUs
图2 已使用CUs
CU范围
CU范围是弹性资源池扩缩容的“安全栅栏”,由“最小CU”和“最大CU”两条边界组成,弹性资源池的实际CUs在这个区间里自动伸缩,避免无限制的资源扩容风险。
计算实际CUs时,如果计算结果小于minCU则取minCU值为实际CUs的值;如果计算结果大于maxCU那么取maxCU为实际CUs的值。即实际CUs会始终保持在CU范围的区间内。
- 最小CU(minCU)
包周期模式下,购买弹性资源池时设置的最小CU即弹性资源池的包周期CU(规格),可通过“包周期CU变更”调高最小CU。
即当弹性资源池规格扩容时,CU范围的最小值与弹性资源池的包周期CU(规格)联动,当弹性资源池的规格变化后,CU范围的最小值会修改为与包周期CU(规格)一致,而最大CU 不变。
弹性资源池缩容时,实际CUs不会低于该值,确保总有资源可立即接管作业。
弹性资源池中所有队列的最小CU数之和需要小于等于弹性资源池的最小CU数。
- 最大CU(maxCU)
弹性资源池中任意一个队列的最大CU必须小于等于弹性资源池的最大CU。
弹性资源池至少可以满足弹性资源池中所有队列按最小CU运行,尽量满足队列按最大CU运行。
包周期CU(规格)
包周期CU(规格)是使用包周期方式购买的CU量,购买弹性资源池时包周期CU(规格)即设置的CU范围的最小CU。
购买弹性资源池时选择的CU范围的最小值即弹性资源池规格。规格是包周期弹性资源池特有的。规格部分以包周期的计费,规格之外的部分按需计费。即将会产生包周期外的按需费用。
队列的最大CU直接影响实际CU分配,如果实际CUs超出规格,超出部分将按需计费。如需降低该场景下的整体成本,则可以通过弹性资源池规格变更的操作,扩大弹性资源池的包周期CU(规格)。规格变更成功后,新的包周期CU(规格)范围内所有资源均按照包年包月计费,相比变更前(部分按需计费)更优惠。
详细操作指导请参考弹性资源池规格变更。
图3 弹性资源池包年/包月+按需计费模式 | 成本优化示例
变更包周期CU(扩容)前的检查动作
请在变更包周期CU(扩容)前检查实际CUs是否大于等于变更的目标规格的CUs。
如果实际CUs小于目标CUs,那么需要通过调大队列的maxCU或添加队列来调整实际CUs。
示例:包年包月弹性资源池,实际CUs:64CUs、CU范围:64CUs - 96CUs、规格64CUs。计划调整目标规格:80CUs。
操作步骤:
- 通过调整当前弹性资源池中队列的最大CU或增加队列,以增大弹性资源池的实际CUs为80CUs。
当弹性资源池队列的最大CU的和大于弹性资源池的实际CUs时,会触发弹性资源池的实际CUs变大,调整后的实际CUs= min(队列的最大CU和,弹性资源池CU范围最大值)。(调整队列的CU范围在下一个整点生效。)
- 在实际CUs调整为80CUs后,再通过“规格变更”将弹性资源池规格调整为80CUs。(弹性资源池规格变更,在下一个整点生效。)
执行规格变更后,将弹性资源池规格CU范围的最小CU也会调整为与实际CUs一致。
弹性资源池扩容
- 在DLI管理控制台左侧,选择“资源管理 > 弹性资源池”。
- 选择需要扩容的弹性资源池,单击“操作”列“更多”中的“包周期CU变更”。
- 在“包周期CU变更”页面,“变更方式”选择“扩容”,变更数量选择要扩容的CU数量。
图4 规格变更扩容
- 确定费用后,单击“提交”。
- 扩容任务提交后,可以选择“作业管理 > SQL作业”,查看“SCALE_POOL”类型SQL作业的状态。
如果作业状态为“规格变更中”,表示弹性资源池规格正在扩容中。等待作业状态变为“已成功”表示当前变更操作完成。
弹性资源池缩容
系统默认最小CU值为16CU,即当弹性资源池的规格为16CU时,不能进行手动缩容。
- 在DLI管理控制台左侧,选择“资源管理 > 弹性资源池”。
- 选择需要缩容的弹性资源池,单击“操作”列“更多”中的“包周期CU变更”。
- 在“包周期CU变更”页面,“变更方式”选择“缩容”,变更数量选择要缩容的CU数量。
图5 弹性资源池规格缩容
- 确定费用后,单击“提交”。
- 缩容任务提交后,可以选择“作业管理 > SQL作业”,查看“SCALE_POOL”类型SQL作业的状态。
如果作业状态为“规格变更中”,表示弹性资源池规格正在缩容中。等待作业状态变为“已成功”表示当前变更操作完成。