本文分享自天翼云开发者社区《云服务器虚拟化超分与虚机性能关系分析

作者:l****n


虚拟化技术是云计算商业模式的基础,它也是推动云计算经济的核心技术。虚拟化是指使用虚拟化软件在计算机硬件上创建抽象层,将单个计算机的硬件元素(包括处理器、内存、存储器等)分成多个虚拟计算机

云服务器虚拟化超分与虚机性能关系分析_服务器

服务器虚拟化示意图

CPU虚拟化公式:

vCPU数量=CPU数量*每颗CPU核数*线程数*超分比

云服务器虚拟化超分与虚机性能关系分析_虚拟化_02

CPU和vCPU的关系

   “超分”是云计算虚拟化技术的一个必然现象,超分也是虚拟化平台的优势,它能够将可分配给客户的vCPU总数大于实际可用的物理CPU总数。因为物理机中的客户虚机不可能都处于高负荷的状态,所以适当的超分有助于资源的充分利用。 但当有些持续高CPU计算场景(如渲染)平台用户量过多时, CPU超分率数值过大会严重影响物理机性能,导致业务性能卡顿,影响服务体验。那超分与虚机性能关系是怎样的呢?

       其实超分是这样一个概念:就是控制最大开出的vcpu资源数,比如物理资源总核数为1000,不管在1:3还是1:5的超分下,当已经开出的资源小于1000时,基本上虚机独立占用物理CPU的时间片,性能和独享CPU性能基本一致,当开出的资源是3000vCPU,且全部都在运行时,不管是1:3的超分还是1:5的超分,其实性能也是一样,都是3vCPU共同使用一个物理CPU的时间片,当设置的超分越高,可开出的最大虚机资源就越多,那么当实际资源开的比较多时,就会存在CPU的时间片竞争,导致性能下降。太高的超分,如果在资源基本都开满的情况下会导致CPU调度时延的增加,CPU调度时延和CPU复用比增长对应关系是非线性的,就是超分太大,会导致CPU自身在多个时间片的调度消耗增加,而留给虚机本身的算力会降得比较多。过大的CPU超分下,Linux系统可能表现为卡死,Windows虚拟机可能表现为蓝屏。

       因此,结合天翼云多年业务实际经验以及业界广泛采用的实际情况  对于共享型S系列云主机,x86服务器我们推荐采用的超分是1:3;国产化服务器推荐的是1:2。