使用vCpu度量您的伸缩组

简介: 弹性伸缩默认以实例个数度量伸缩组容量,而您往往更关心伸缩组提供的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();
相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
相关文章
|
7月前
|
存储 弹性计算 编解码
ecs实例规格工作负载模式
阿里云ECS实例有多种工作负载模式:计算密集型(适合高性能计算)、内存密集型(适用于内存数据库)、通用型(平衡资源,多场景适用)、大数据型(优化大数据分析)、共享型(低成本,轻负载)和企业级实例(高稳定性和隔离性)。用户依据业务需求选择实例规格,结合SLB和ESS服务可优化架构,应对动态负载。
66 4
|
7月前
|
弹性计算 API
弹性伸缩期望实例数
弹性伸缩期望实例数
68 18
|
弹性计算 前端开发
计算巢服务模板可用区与实例规格约束最佳实践
计算巢简介计算巢服务是阿里云开放给企业应用服务商与其客户的服务管理PaaS平台。服务商在计算巢创建服务(可理解为云资源、软件编排后的集合)并发布上线后,用户便可通过此服务创建服务实例(基于计算巢服务创建的服务实体)以获取具体服务内容,即商家创建服务,用户通过商家发布的服务创建服务实例。服务商创建服务,最重要的是撰写Ros(资源编排)模板。对于大部分场景,模板中均涉及Ecs规格、可用区等内容。然而,
198 0
计算巢服务模板可用区与实例规格约束最佳实践
|
7月前
|
编解码 监控 调度
GPU实例使用--vGPU资源利用率的提升、监控与告警的实现
随着AI计算及云游戏为代表的图形渲染业务的飞速发展,越来越多的企业和个人开始使用GPU实例。同时,由于GPU算力资源成本较高,对于负载相对较小的业务,客户会更倾向于选择使用1/2或者1/4甚至更小的vGPU实例来运行其业务,vGPU技术随之得以迅速发展。
|
存储 消息中间件 弹性计算
阿里云内存增强型re7p实例规格介绍(实例特点、适用场景、指标数据)
阿里云在云服务器新人特惠中新增了一个内存增强型re7p实例规格的云服务器,这是继计算型c7、通用型g7和内存型r7实例之后,阿里云在活动中有增加的一款第七代云服务器实例,本文介绍云服务器ECS内存增强型re7p实例规格族的特点,并列出了具体的实例规格。
371 0
阿里云内存增强型re7p实例规格介绍(实例特点、适用场景、指标数据)
|
弹性计算 运维 监控
监控伸缩组内抢占式实例的实时价格与折扣
场景描述 相信各位小伙伴对阿里云ECS 1折跳楼价的抢占式实例有所耳闻。如果将抢占式实例的配置模版放进弹性伸缩组内,熟悉弹性伸缩组的小伙伴们会知道,当进行弹性扩张活动时时,伸缩组会自动创建实例。但是进行扩张活动时,否经常会因为抢占式实例的价格变化不定而忧心忡忡呢?是否最终月底账单结算时发现某些时刻费用已经超过自己心理阈值而抓狂烦恼呢?现在我们有一种更简便的方案让您更轻松地监控伸缩组内的实例价格变化,第一时间得到变化通知。
|
弹性计算 运维 Prometheus
通过TAG将ECS实例(弹性扩缩容)自动加入云监控分组
基于阿里云弹性伸缩集成部署弹性服务ECS方案,同时基于云监控CMS利用标签实现ECS实例的自发现监控ECS实例,通过云监控CMS应用分组查看配置统一的监控告警服务、资源利用率、集中的报警管理,轻松实现ECS监控运维。也就是说,ECS+AutoScaling+TAG+CMS 实现自动化分组运维。
2135 0
通过TAG将ECS实例(弹性扩缩容)自动加入云监控分组
|
弹性计算
弹性伸缩组支持设置期望实例数
介绍 期望实例数是指伸缩组内想要保持的ECS实例总数,可以在创建伸缩组时设置,其数值介于伸缩组最小实例数和最大实例数之间,各种伸缩模式都会改变这个值。伸缩组在设置期望实例数后会自动支持伸缩活动并行执行。
4159 0
|
弹性计算 API 调度
ECS弹性供应组使用步骤
关于阿里云ECS弹性供应组的详细使用情况,您可以通过控制台或者API这两种方式来创建、查询、修改以及删除一个弹性供应组,下面将为您介绍如何管理弹性供应组的详细步骤。
1263 0

热门文章

最新文章