使用vCpu度量您的伸缩组

本文涉及的产品
云服务器 ECS,每月免费额度280元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 弹性伸缩默认以实例个数度量伸缩组容量,而您往往更关心伸缩组提供的vCpu个数,内存数等性能指标。通常,实例个数与性能指标之间是简单的倍数关系,但当您使用伸缩组在多个不同大小实例规格中创建实例,实例个数只能近似反映伸缩组提供的性能,例如,10个2c4g实例和10个4c8g实例,提供的性能相差一倍。为了能够更加直接的以实例性能指标度量伸缩组容量,弹性伸缩允许您通过加权的方式,指定不同规格的单个实例在伸缩组中表示不同的容量,例如,以实例规格的vCpu个数进行容量加权,伸缩组容量将表示伸缩组内vCpu个数。

内容

  • 使用vCpu对伸缩组进行容量加权
  • 单位权重的价格
  • 伸缩组扩缩容行为
  • 注意事项
  • 示例

使用vCpu对伸缩组进行容量加权

弹性伸缩允许您为伸缩组中的实例规格设置不同的容量权重,使得不同实例规格的单个实例在伸缩组中表示不同的容量。目前,您可以通过以下两种方式设置伸缩组实例权重:

  1. 若您使用伸缩配置作为配置来源,您可以为伸缩配置中各实例规格指定容量权重;
  2. 若您使用启动模板作为配置来源,您可以通过弹性伸缩提供的启动模板覆盖参数,扩展启动模板以支持多实例规格,并在启动模板覆盖参数中指定各实例规格的容量权重。

通过以实例规格的vCpu个数对实例规格进行容量加权,伸缩组将以vCpu为容量单位,伸缩组容量大小,将直接反映伸缩组内vCpu个数。下面通过一个具体示例为您展示如何设置vCpu容量。

假设您运行着一个计算敏感型应用,该应用需要至少4 vCPU, 8GiB以满足最小运行需求。为了提高伸缩组创建实例的成功率,您选择了多个满足条件的实例规格:

实例规格 核数 内存
ecs.c5.xlarge 4 8
ecs.c5.2xlarge 8 16
ecs.c5.3xlarge 16 32

设置实例权重时,您可以根据需要选择合适的容量单位,例如,以实例个数,vCpu个数,内存个数等作为容量单位。此处,我们将单个vCpu作为伸缩组容量单位。由此,计算出各实例规格的权重:

  • ecs.c5.xlarge = 4 容量单位
  • ecs.c5.2xlarge = 8 容量单位
  • ecs.c5.3xlarge = 16 容量单位

此时,若应用实际需要40c80g,即40倍的容量单位大小,伸缩组的期望容量大小应当为40,伸缩组在扩缩容的过程中,也将以容量单位为最小粒度进行。

弹性伸缩强烈建议您按照以下方式设置实例权重:

  • 使用与实例规格相关的性能指标设置实例权重,例如,cpu核数(vCPUs),内存个数(GiBs)。您可以以单个vCpu,1GiB内存或某个最小规格作为伸缩组容量单位,此时伸缩组的MaxSize,MinSize,DesiredCapacity是相对该容量单位计算的;
  • 尽量不要为不同规格设置差距过大的权重。例如,较小规格的权重设置为1,较大规格的权重设置为200。如果权重之间的差距过大,将对伸缩组的总体成本产生负面影响;
  • 设置合适的权重大小,尽量保证伸缩组内当前容量至少是2到3倍的最大权重值;

单位权重的价格

对于竞价实例,您在伸缩配置/启动模板中设置的竞价实例最高价应当为单个实例每小时价格。该价格应当高于伸缩组中任意实例规格的每小时价格,当竞价实例当前价格低于您的最高出价,并且具有可用容量时,弹性伸缩将为您创建竞价实例。

对于采用成本优化扩展策略的伸缩组,在扩容过程中,当设置实例权重,伸缩组将根据每单位权重每小时价格确定最低价实例规格/可用区配置。下表为您展示了每单位权重每小时价格的计算方式:

实例规格 每小时价格 权重 每单位权重每小时价格
ecs.c5.large 0.18 2 0.090
ecs.c5.xlarge 0.34 4 0.085
ecs.c5.2xlarge 0.64 8 0.080

伸缩组扩缩容行为

  • 伸缩活动允许超量扩容。超量扩容是指单次伸缩活动实际扩容量超出该活动期望扩容量。例如,您设置ecs.c5.2xlarge的权重为2,ecs.c5.12xlarge的权重为12,若伸缩活动期望扩容5个容量单位,弹性伸缩可能为您创建1个ecs.c5.12xlarge类型实例,比您期望扩容量多7个容量单位;
  • 伸缩组当前容量允许超过DesiredCapacity/MaxSize。伸缩组中当前容量允许超过DesiredCapacity,MaxSize,例如,MaxSize为5,伸缩组中可能包含一个ecs.c5.12xlarge实例,其权重为12,此时伸缩组容量超过 MaxSize 7个容量单位;
  • 弹性伸缩扩缩容过程中,优先根据伸缩组扩展策略进行容量分配,而不是避免容量超出期望。例如,您期望扩容4个容量单位,若扩展策略确定该次扩容应当选择ecs.c5.12xlarge类型,即使可能超出期望容量,弹性伸缩仍将为您生产1个ecs.c5.12xlarge实例,而不是2个ecs.c5.2xlarge实例;
  • 伸缩活动超出期望扩容量的容量或伸缩组当前容量超过DesiredCapacity/MaxSize的容量,必须小于最大权重值。例如:若伸缩组MaxSize为5,上例中,最大权重为12,则伸缩组中容量一定小于17(5+12)。

注意事项

  • 当您为伸缩组设置实例权重时,必须同时设置伸缩组中所有实例已使用的实例规格的权重;
  • 当您修改已存在实例权重时,弹性伸缩将根据新的权重信息重新计算伸缩组当前容量,可能触发新的扩缩容活动;
  • 即使您删除伸缩配置中某实例规格,伸缩组将依然记录该规格最新权重值。

示例

此处以使用启动模板作为配置来源的伸缩组为例,为您展示了通过启动模板覆盖参数扩展启动模板支持伸缩组多实例规格,并同时设置伸缩组实例权重,以vCpu个数作为伸缩组容量单位。

// set up launch template overrides
LaunchTemplateOverride launchTemplateOverride1 = new LaunchTemplateOverride();
launchTemplateOverride1.setInstanceType("ecs.c5.large");
launchTemplateOverride1.setWeightedCapacity(2);
LaunchTemplateOverride launchTemplateOverride2 = new LaunchTemplateOverride();
launchTemplateOverride2.setInstanceType("ecs.c5.xlarge");
launchTemplateOverride2.setWeightedCapacity(4);
List<CreateScalingGroupRequest.LaunchTemplateOverride> launchTemplateOverrides = Lists.newArrayList(launchTemplateOverride1,launchTemplateOverride2);
// create scaling group
CreateScalingGroupRequest request = new CreateScalingGroupRequest();
request.setMinSize(0);
request.setMaxSize(100);
request.setScalingGroupName("example");
request.setLaunchTemplateId(launchTemplateId);
request.setLaunchTemplateVersion("Default");
request.setLaunchTemplateOverrides(launchTemplateOverrides);
return client.getAcsResponse(request).getScalingGroupId();
相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
相关文章
|
25天前
|
存储 弹性计算 缓存
ecs负载评估
ECS负载评估基于资源综合性能得分,衡量CPU、内存、磁盘I/O、网络和系统负载等指标。得分0-5为低负载,5-80正常,80-100高负载。高负载可能需优化或扩容。根据负载级别,可调整资源配置、优化性能或使用自动伸缩服务,确保服务稳定和高效。
35 2
|
29天前
|
存储 弹性计算 编解码
ecs实例规格工作负载模式
阿里云ECS实例有多种工作负载模式:计算密集型(适合高性能计算)、内存密集型(适用于内存数据库)、通用型(平衡资源,多场景适用)、大数据型(优化大数据分析)、共享型(低成本,轻负载)和企业级实例(高稳定性和隔离性)。用户依据业务需求选择实例规格,结合SLB和ESS服务可优化架构,应对动态负载。
22 4
|
4月前
|
编解码 监控 调度
GPU实例使用--vGPU资源利用率的提升、监控与告警的实现
随着AI计算及云游戏为代表的图形渲染业务的飞速发展,越来越多的企业和个人开始使用GPU实例。同时,由于GPU算力资源成本较高,对于负载相对较小的业务,客户会更倾向于选择使用1/2或者1/4甚至更小的vGPU实例来运行其业务,vGPU技术随之得以迅速发展。
|
弹性计算 监控 开发者
通过伸缩规则创建伸缩方案-介绍|学习笔记
快速学习通过伸缩规则创建伸缩方案-介绍
118 0
通过伸缩规则创建伸缩方案-介绍|学习笔记
|
弹性计算 监控 负载均衡
什么是阿里云ESS?什么是弹性伸缩?
顾名思义,弹性伸缩就是根据您设置的伸缩规则,在业务需求增长时自动为您增加ECS实例以保证计算能力,在业务需求下降时自动减少ECS实例以节约成本。自动为您调整弹性计算资源大小,以满足您业务需求的变化。君哥的弹性伸缩设置监控项为伸缩组内ECS实例的vCPU使用率平均值,并假设触发弹性扩张的阈值为80%,触发弹性收缩的阈值为30%。
4089 0
|
弹性计算 运维 监控
监控伸缩组内抢占式实例的实时价格与折扣
场景描述 相信各位小伙伴对阿里云ECS 1折跳楼价的抢占式实例有所耳闻。如果将抢占式实例的配置模版放进弹性伸缩组内,熟悉弹性伸缩组的小伙伴们会知道,当进行弹性扩张活动时时,伸缩组会自动创建实例。但是进行扩张活动时,否经常会因为抢占式实例的价格变化不定而忧心忡忡呢?是否最终月底账单结算时发现某些时刻费用已经超过自己心理阈值而抓狂烦恼呢?现在我们有一种更简便的方案让您更轻松地监控伸缩组内的实例价格变化,第一时间得到变化通知。
|
弹性计算 运维 Prometheus
通过TAG将ECS实例(弹性扩缩容)自动加入云监控分组
基于阿里云弹性伸缩集成部署弹性服务ECS方案,同时基于云监控CMS利用标签实现ECS实例的自发现监控ECS实例,通过云监控CMS应用分组查看配置统一的监控告警服务、资源利用率、集中的报警管理,轻松实现ECS监控运维。也就是说,ECS+AutoScaling+TAG+CMS 实现自动化分组运维。
2019 0
通过TAG将ECS实例(弹性扩缩容)自动加入云监控分组