您可以按照性能指标(如vCPU个数)为不同实例规格设置权重,即指定不同实例规格的单台实例在伸缩组中表示的容量大小。设置权重后,伸缩组可以用性能指标度量伸缩组的容量,有助于您更准确地判断伸缩组的整体性能。
背景信息
弹性伸缩默认使用实例台数来度量伸缩组的容量。当伸缩配置仅指定单个实例规格时,伸缩组内的实例台数和整体性能成正比。但是,当您的伸缩配置指定了多个不同大小的实例规格,并创建了多台不同实例规格的实例,实例台数无法准确反映伸缩组提供的整体性能。例如,10台ecs.c5.large(2 vCPU、4 GiB)实例和10台ecs.c5.xlarge(4 vCPU、8 GiB)实例,提供的性能相差一倍。
此时,您可以直接指定实例规格的权重。即便伸缩组创建了多台不同实例规格的实例,您也能准确度量伸缩组的性能。例如,您以vCPU个数设置实例规格的权重,伸缩组的容量将表示伸缩组内所有实例的vCPU总个数。
基本概念
概念 | API参数 | 说明 |
---|---|---|
权重 | WeightedCapacity | 按照性能指标(如vCPU个数),指定实例规格的权重,即表示不同实例规格的单台实例在伸缩组中表示的容量大小。 |
总容量 | TotalCapacity | 伸缩组所有实例的容量总和。 |
最大容量 | MaxSize | 伸缩组总容量的最大值。
说明 由于最大容量不一定能被权重整除,扩容后伸缩组的总容量可能超过最大容量,但超出量小于最大权重。
|
最小容量 | MinSize | 伸缩组总容量的最小值。 |
期望容量 | DesiredCapacity | 伸缩组总容量的期望值,伸缩组会确保总容量不小于期望容量。
说明 由于期望容量不一定能被权重整除,扩容后伸缩组的总容量可能超过期望容量,但超出量小于最大权重。
|
扩缩容规则
- 总容量<期望容量,或者总容量<最小容量时,触发伸缩组扩容。
- 总容量≥(期望容量+最大权重)时,触发伸缩组缩容。
说明 伸缩组优先根据扩缩容策略进行弹性伸缩,如选择成本优化策略时,按照权重单价从低到高创建实例,按照权重单价从高到低释放实例。权重单价的计算方式,请参见
权重单价计算方式。
权重单价计算方式。
注意事项
- 您必须为伸缩组的所有实例规格设置权重。
- 当您删除了伸缩配置中的某实例规格,伸缩组中已创建的该规格实例的权重保持不变。
- 当您修改实例规格的权重时,若已创建该实例规格的实例,弹性伸缩将根据新的权重信息重新计算伸缩组当前容量,可能触发新的扩缩容活动。
操作步骤
本操作步骤使用伸缩配置作为伸缩组的配置来源,设置实例规格的权重。
说明 您也可以使用启动模板作为配置来源,通过调用API CreateScalingGroup,指定LaunchTemplateOverride.N.InstanceType和LaunchTemplateOverride.N.WeightedCapacity参数来设置各实例规格的权重。具体信息,请参见
CreateScalingGroup。
CreateScalingGroup。
权重单价计算方式
如果您的伸缩组采用成本优化策略,且设置了实例规格权重,在扩容过程中,伸缩组将根据权重单价从低到高尝试创建实例。其他内容,请参见通过扩缩容策略降低成本。
下表举例说明不同实例规格权重单价的计算方式。
说明 下表中实例规格的市场价格仅作为示例,实际市场价格,请参见
云服务器ECS定价页。
云服务器ECS定价页。
实例规格 | vCPU | 市场价格 | 权重 | 权重单价 |
---|---|---|---|---|
ecs.c5.large | 2 | 0.18/时 | 2 | 0.090/时 |
ecs.c5.xlarge | 4 | 0.34/时 | 4 | 0.085/时 |
ecs.c5.2xlarge | 8 | 0.64/时 | 8 | 0.080/时 |