关于云计算超卖,你需要知道的都在这里了 | 知乎

目前也在做云平台相关的工作,找到了这篇关于云平台超售的文章,对于计算超售的过程还不是特别了解,转到小站方便研究。作者是 阿里云高级产品专家 realzyy,以下是原文https://zhuanlan.zhihu.com/p/24435587.:

2016年10月26日,IT之家的CEO发布了一则公告(参见《完成阿里云至百度云站点迁移工作》),其中抱怨阿里云ECS云服务器超卖严重且售后态度不积极的内容引发了整个云计算圈子激烈讨论。 随后的一天,袋鼠云的CTO在云栖社区上发声(参见《IT之家,这不是个案》),指出IT之家的技术架构落后,使用云计算的“姿势不对”是导致整个事件最主要的原因。

-—————————– 为了避免草率得出结论,我们先使用理论数据推演。首先定义超卖率(OverSaleRate):

假设一台物理主机有16个物理CPU+256GB内存,且其中内存是限定资源。另有假设平均的云服务器规格为2vCPU+4GB的内存,则CPU超卖率有如下推导:

这意味着,当内存售卖率(LimitedResourceSaleRate)为10%时CPU是不超卖的,当内存售卖率为60%时CPU超卖率是380%,当内存售卖率为80%时CPU超卖率则达到了540%。

-—————————– 在上述的假设条件下,云计算的CPU超卖程度显然是比较夸张的。那么实际情况是怎么样的呢?为了避免口水战,我们使用全球最大的云计算厂商AWS的官网数据来进行验证。 首先是根据EC2专用主机EC2实例的配置,推测EC2物理主机的配置:

  1. 通用型t2、m3、m4三个系列的内存/vCPU比例为0.5、1、2、4
  2. 计算优化型c3、c4两个系列的内存/vCPU比例为2
  3. 内存优化型r3、r4两个系列的内存/vCPU比例为8(x1系列比较特殊,略去)

相应的,我们从这个表里面能获取到的关键信息是什么呢?

  1. 假设只有c3和c4系列的EC2实例是对应分布在c3和c4类主机上的,则c3和c4主机不存在CPU超卖
  2. 假设只有r3和r4系列的EC2实例是对应分布在r3和r4类主机上的,则r3主机不存在CPU超卖,而r4主机存在少量CPU超卖
  3. 假设只有m3和m4系列的EC2实例是对应分布在m3和m4类主机上的,则m3主机不存在CPU超卖,而m4主机存在少量CPU超卖
  4. t2系列的EC2实例没有任何主机型号与之直接对应,而t2型的内存/CPU比例非常低(0.5-2),是造成CPU超卖的元凶

在此不妨做一个推测,AWS的EC2实例分配策略基于三条逻辑:

  1. c3、c4、r3、r4、m3、m4等EC2规格分布在对应类型的主机上
  2. t2系列中的2vCPU+8GB、4vCPU+16GB、8vCPU+32GB三个规格分布在m3、m4主机上
  3. t2系列中的1vCPU+0.5GB、1vCPU+1GB、1vCPU+2GB、2vCPU+4GB四个规格分布在CPU比较空闲的主机上,并会有定期的调度策略保证物理CPU最大程度上的平均利用

在这三条逻辑的保障下,AWS可以在t2实例数量较少的情况下将超卖比控制在非常低的水位上,让用户基本对CPU超卖没有感知。在t2实例数量特别多的情况下,超卖比则会迅速恶化至500%、1000%,甚至2000%。

那么是否可能专门为t2系列定制一款主机,保证超卖在理论上就不会发生?我想AWS应该是可以做到的,但是主机成本将会非常高昂,跟t2系列低价的卖点将会背道而驰。

-—————————–

回到最初的问题:

云计算的虚拟化是否就一定存在着资源超卖,因此不能满足大企业的稳定性需求?

答案已经非常明显了,请大家自行脑补吧。


如果本文对你有帮助,欢迎投食

删除 ssh known_hosts 中特定的主机 有助于提高系统管理员团队工作效率的32个问题 | 51CTO