文档

ECS选型最佳实践

更新时间:

购买ECS实例之前,您需要结合性能、价格、工作负载等因素,做出性价比与稳定性最优的决策。本文主要介绍如何结合实际业务场景选购阿里云云服务器ECS。

了解实例规格族

  • 实例规格清单:实例规格族

  • 实例规格族分类说明

    企业级?共享型?弹性裸金属服务器?高性能计算?异构计算?

    • 企业级实例是阿里云2016年9月开始推出的一系列实例规格族的总称,具有高性能、稳定计算能力和平衡网络性能的特点。因为具有独享且稳定的计算、存储、网络资源,这些实例规格族非常适合对业务稳定性具有高要求的企业场景。

    • 共享型实例是一系列面向一般中小网站或个人开发者的实例规格(族)总称。与企业级实例相比,共享型实例在资源利用上更多强调资源性能的共享,所以无法保证实例计算性能的稳定,但成本相对来说也更低。

    • 弹性裸金属服务器融合了物理机与云服务器的优势,实现超强、超稳的计算能力。通过阿里云自主研发的虚拟化2.0技术,您的业务应用可以直接访问弹性裸金属服务器的处理器和内存,无任何虚拟化开销。弹性裸金属服务器具备物理机级别的完整处理器特性(例如Intel VT-x),以及物理机级别的资源隔离优势,特别适合上云部署传统非虚拟化场景的应用。

    • 高性能计算将计算能力积聚,用并行计算方式解决更大规模的科学、工程和商业问题。

    • 异构计算(Heterogeneous Computing)是指使用不同类型指令集和体系架构的计算单元组成系统的计算方式,能够让最适合的专用硬件去服务最适合的业务场景,在特定场景下,异构计算产品比普通的云服务器高出一个甚至更多数量级的性价比和效率。

  • 实例规格命名规则

    实例规格族名称格式为ecs.<规格族>,实例规格名称为ecs.<规格族>.<nx>large。具体命名规则说明如下所示:

    • ecs:云服务器ECS的产品代号。

    • <规格族>:由规格族主体+规格族后缀组成。

      说明

      以下示例仅展示实例规格族的部分常见规格的名称含义。

      • x86计算规格族和ARM计算规格族

        命名组成

        说明

        命名示例含义

        规格族主体

        由小写字母+数字组成。

        • 小写字母:为某个单词的缩写,标志着实例规格族的性能领域。

        • 数字:一般用于区分同类型规格族间的发布时间。

          更大的数字代表新一代规格族,拥有更高的性价比,价格低、性能好。

        • c:表示计算型(computational)

          处理器与内存配比为1:2,适用于数据库、Web服务器、高性能科学和工程应用、游戏服务器、数据分析、批量计算、视频编码、机器学习等场景。

        • g:表示通用型(general)

          处理器与内存配比为1:4,适用于通用互联网应用、数据库、Web网站、Java应用服务、游戏服务、搜索推广、安全可信计算等场景。

        • u:表示通用算力型(universal)

          处理器与内存配比为1:1、1:2、1:4、1:8,适用于对价格敏感的企业级客户,主要应用于中小型和大型企业级应用、网站和应用服务器,中小型数据库系统、缓存、搜索集群等场景。

        • r:表示内存型(ram)

          处理器与内存配比为1:8(部分规格不为1:8),适用于内存数据库、数据分析与挖掘、分布式内存缓存(Redis)、大数据类应用(Kafka、ElasticSearch等),以及对内存容量要求较高的通用企业级应用(Java)等场景。

        • re:表示内存增强型(ram enhanced)

        • hf(c/g/r):表示高主频型(high frequency)

          处理器与内存配比为1:2、1:4、1:8,适用于大型多人在线游戏、HPC等高性能科学计算场景,以及中大型数据库系统等。

        • i:表示本地SSD型(instance family with local SSDs)

          处理器与内存配比为1:4、1:8,适用于OLTP、高性能关系型数据库、NoSQL数据库(例如Cassandra、MongoDB等)、Elasticsearch等搜索场景以及EMR大数据存算分离场景。

        • d:表示大数据型(big data)

          处理器与内存配比为1:4,适用于Hadoop MapReduce、HDFS、Hive、HBase等大数据计算和存储业务场景,以及Elasticsearch、Kafka等搜索和日志数据处理场景。

        • s:表示共享型(share)

        • t:表示突发型(burst)

        • e:表示经济型(economy)

        例如,ecs.g6.2xlarge表示通用型g6规格族中的一个实例规格,拥有8个vCPU核。相比于g5规格族,g6为新一代通用型实例规格族。

        规格族后缀

        由小写字母组成。

        • y:表示采用阿里云自研倚天710 ARM架构CPU(Yitian)

        • a:表示采用AMD CPU

        • ae:表示AMD增强型(AMD enhanced)

        • i:表示采用intel CPU

        • h:表示采用海光处理器

        • re:表示RDMA增强型(RDMA enhanced)

        • se:表示存储增强型(storage enhanced)

        • ne:表示网络增强型(network enhanced)

        • t:表示安全增强型(tpm)

        • p:表示持久内存型(persistent ram)

      • 异构计算规格族、弹性裸金属服务器、超级计算集群(SCC)实例规格族

        异构计算规格族、弹性裸金属服务器和超级计算集群(SCC)实例规格族一般采用自主命名方式,由小写字母和数字混合组成。

        命名组成

        说明

        命名示例含义

        规格族主体

        由小写字母组成。

        • gn:表示搭载NVIDIA GPU的计算型实例

        • vgn:表示采用NVIDIA GRID vGPU加速的独享型实例

        • sgn:表示采用NVIDIA GRID vGPU加速的共享型实例

        • gi:表示搭载Intel GPU的计算型实例

        • f:表示FPGA计算型实例

        • ebm(c/g/r/gn/hf):表示弹性裸金属服务器(elastic bare metal)

        • scc(c/g/h/gn/hf):表示超级计算集群(super computing cluster)

        规格族后缀

        由数字或小写字母+数字组成。

        • 6v:6表示采用Volta/Turing架构;v表示GPU类型为V100且GPU显存为16 GB。

          例如,gn6v表示采用Volta/Turing架构,显存为16 GB,且搭载NVIDIA V100 GPU的计算型实例。

        • 6e:6表示采用Volta/Turing架构;e(extend)表示第2代GPU类型为V100且显存为32 GB。

          例如,gn6e表示采用Volta/Turing架构,显存为32 GB,且搭载NVIDIA V100 GPU的计算型实例。

        • 6i:6表示采用Volta/Turing架构;i(inference)表示GPU类型为T4。

          例如,gn6i表示采用Volta/Turing架构且搭载NVIDIA的T4 GPU计算型实例。

        • 6s:6表示采用Volta/Turing架构;s表示第6代SG-1。

          例如,ebmgi6s表示采用Intel®Server GPU卡和第6代SG-1芯片的视觉计算型实例。

        • 7:表示采用Ampere架构。

        • 7i:7表示采用Ampere架构;i(inference)表示GPU类型为A10且显存为24 GB。

        • 7e:7表示采用Ampere架构。

        • 7s:7表示采用Ampere架构;s表示用于第7代A30 GPU。

    • <nx>large:large表示vCPU核数,<nx>中的n越大,表示vCPU核数越多。其中,xlarge代表4核,2xlarge代表8核,3xlarge代表12核等等,以此类推。

  • 支持变配的实例规格:请参见支持变配的实例规格

  • 查看实例可购买地域:各个地域下可供售卖的实例规格可能存在差异,实例的可购情况,您可以前往ECS实例可购买地域查看。

实例适用场景

企业级实例

image

异构计算实例

image

根据预装软件选型

根据您使用的应用,并参考选型原则,选择对应的实例规格族。

应用类型

常用应用

选型原则

推荐实例规格族

负载均衡

Nginx

应用特点:需要支持高频率的新建连接操作。

  • CPU计算能力:要求较高。

  • 内存:要求不高。

c8i、c7、c7nex、g5ne

RPC产品

  • SOFA

  • Dubbo

应用特点:网络链接密集型;进程运行时需要消耗较高的内存。

g8a、g7nex、g8i、g7

缓存

  • Redis

  • Memcache

  • Solo

  • CPU计算能力:要求不高。

  • 内存:要求较高。

r8i、r8a、r7、r7a

配置中心

ZooKeeper

在应用启动协商时会有大量I/O读写操作。

  • CPU计算能力:要求不高。

  • 内存:要求不高。

c8a、c7、c8i、u1

消息队列

  • Kafka

  • RabbitMQ

从消息完整性方面考虑,存储优先选用云盘。

  • CPU计算能力:要求不高。

  • 内存和vCPU配比通常为1:1。

  • 存储:要求不高。

c8a、c7、c8i、u1

容器编排

Kubernetes

通过弹性裸金属服务器和容器的组合,可以最大限度地挖掘计算潜能。

ebmc6e、ebmg6e、ebmc6、ebmg6、ebmc6a、ebmc7a、ebmg6a、ebmg7a系列

大表存储

HBase

  • 一般可以选择d系列。

  • 如果业务存在超高IOPS(Input/Output Operations Per Second)需求,可以选择i系列。

d3c、d3s、i4

数据库

  • MySQL

  • NoSQL

  • 对于存储有弹性扩展的需求,可以选择ECS和ESSD。

  • 对于I/O敏感型业务的需求,优先选择i系列。

g8a、g7、g8i、i4,

SQLServer

  • 由于Windows的I/O单通道特性,对I/O读写能力要求较高,优先选择ESSD。

  • ECS的逻辑和物理扇区设置为4 K。

g8a、g7、r7、r8i、g8i

文本搜索

Elasticsearch

  • 选用内存与vCPU配比较大的ECS规格。

  • 日常需要将数据库数据导出成ES文件,对I/O读写有要求。

i4、i4r、i3、i2

实时计算

  • Flink

  • Blink

基于存储量可以选择ECS通用规格和云盘,也可以选择d系列。

i4g、i4、d3c

离线计算

  • Hadoop

  • HDFS

  • CDH

优先选择d系列。

d3s、d3c

视频转码

  • 点播

  • 直播

  • CPU计算能力:要求高

  • 内存:要求不高

  • IO:要求不高

c8y、hfc8i

大数据

  • Spark

  • Hive

  • CPU计算能力:要求高

  • 内存:内存带宽要求高

  • IO:存储带宽要求高

g8y、r8y

根据细分业务场景选型

通用应用、游戏服务、视频直播场景推荐

在该类场景中,性能需求表现为CPU计算密集型,您需要相对均衡的处理器与内存资源配比,通常选用CPU与内存配比1:2、系统盘选用高效云盘、数据盘选用SSD云盘或者ESSD云盘。如果业务需要更强的网络性能,如视频弹幕等,您可以选用同系列中更高规格的实例规格,提高网络收发包能力(PPS)。

场景分类

场景细分

推荐规格族

性能需求

处理器与内存比

通用应用

均衡性能应用,后台应用

g系列,如g7

中主频,计算密集型

1:4

高网络收发包应用

g系列,如g7

高网络PPS,计算密集型

1:4

高性能计算

hfc系列,如hfc7

高主频,计算密集型

1:2

游戏应用

高性能端游

hfc系列,如hfc7

高主频

1:2

手游、页游

g系列,如g6e

中主频

1:4

视频直播

视频转发

g系列,如g7

中主频,计算密集型

1:4

直播弹幕

g系列,如g7

高网络PPS,计算密集型

1:4

Hadoop、Spark、Kafka大数据场景推荐

在该类场景中,由于涉及不同的节点,性能需求表现较为复杂,您需要均衡各个节点的性能表现,包括计算、存储吞吐量、网络性能等。

  • 管理节点:当作通用场景处理,请参见根据细分业务场景选型

  • 计算节点:当作通用场景处理,请参见根据细分业务场景选型。根据集群规模的不同,需要选择的实例规格不同。例如100个节点以下可以选用ecs.g7.4xlage,100个节点以上可以选用ecs.g7.8xlage。

  • 缓存节点:用于存储热数据或部署RSS,侧重磁盘和网络IO性能,推荐使用i4g、i2g。

  • 计算缓存节点:用于计算和缓存,兼备计算性能和IO性能、磁盘容量,推荐使用i4、i4r、d3c。

    说明

    计算节点在计费模式上可以采用抢占式实例,实现性价比最优化。更多信息,请参见什么是抢占式实例

  • 数据节点:需要高存储吞吐、高网络吞吐、均衡的处理器与内存配比,推荐您使用大数据型(d系列)规格族。例如MapReduce/Hive可选择ecs.d2s.5xlarge、ecs.d3s.4xlarge等,Spark/Mlib可选择ecs.d2s.10xlarge。

数据库、缓存、搜索场景推荐

在该类场景中,实例规格的处理器与内存配比一般要求高于1:4,部分软件对存储I/O读写能力及时延性能较为敏感,建议您选用单位内存性价比较高的规格族。

场景分类

场景细分

推荐规格族

处理器与内存比

数据盘

关系型数据库

高性能,依赖应用层高可用

i系列

1:4

本地SSD存储、高效云盘、SSD云盘

中小型数据库

g系列,或其他内存占比为1:4的规格族

1:4

高效云盘、SSD云盘

高性能数据库

i、r系列

1:8

高效云盘、SSD云盘

分布式缓存

中内存消耗场景

g系列,或其他内存占比为1:4的规格族

1:4

高效云盘、SSD云盘

高内存消耗场景

r系列、i系列

1:8

高效云盘、SSD云盘

NoSQL数据库

高性能,应用层高可用

i系列

1:4

本地SSD存储、高效云盘、SSD云盘

中小型数据库

g系列,或其他内存占比为1:4的规格族

1:4

高效云盘、SSD云盘

高性能数据库

i4、i4r系列

1:8

高效云盘、SSD云盘、本地SSD存储

ElasticSearch

小集群,靠云盘保证数据高可用

g系列,或其他内存占比为1:4的规格族

1:4

高效云盘、SSD云盘

大集群,高可用

d系列

1:4

本地SSD存储、高效云盘、SSD云盘

以数据库为例,在传统方式中,业务系统直接对接OLTP数据库,数据冗余大多通过RAID磁盘阵列实现。选择云服务器ECS,您的轻载、重载数据库都能实现灵活部署。

  • 轻载数据库:采用i4r、i4g系列实例搭配云盘使用,性价比更高。

  • 重载数据库:需要高存储IOPS和低读写延时,推荐您使用本地SSD型i系列实例规格族(搭配了高I/O型本地NVMeSSD本地盘),满足大型重载数据库的要求。

数据库选型

深度学习、图像处理场景推荐

在该类场景中,应用需要高性能的GPU加速器,在GPU和CPU配比方面有如下建议。

  • 深度学习训练:GPU与CPU比例推荐为1:8到1:12之间。

  • 通用深度学习:GPU与CPU比例推荐为1:4到1:48之间。

  • 图像识别推理:GPU与CPU比例推荐为1:4到1:12之间。

  • 语音识别与合成推理:GPU与CPU比例推荐为1:16到1:48之间。

常见场景的GPU选型推荐如下图所示。GPU选型

验证与调整

当您完成选型并开始使用云服务器ECS实例后,建议您根据一段时间的性能监控信息,验证所选实例规格是否合适。

假设您选择了ecs.g8i.xlarge,通过监控发现实例CPU使用率一直较低,建议您登录实例检查内存占用率是否较高,如果内存占用较高,您可以调整为处理器与内存资源配比更合适的规格族。更多信息,请参见以下文档:

使用云服务器ECS的过程中,如果发生地域库存不足、实例规格族停售、修改为更高性价比规格族、升级配置等情况,您可以根据实例规格族的特点进行变配。更多信息,请参见升降配方式概述支持变配的实例规格