云服务器虚拟化超分与虚机性能关系分析
本文分享自天翼云开发者社区《云服务器虚拟化超分与虚机性能关系分析》,作者:l****n
虚拟化技术是云计算商业模式的基础,它也是推动云计算经济的核心技术。虚拟化是指使用虚拟化软件在计算机硬件上创建抽象层,将单个计算机的硬件元素(包括处理器、内存、存储器等)分成多个虚拟计算机(VM), 每个 VM 都运行自己的操作系统 (OS) ,类似于独立的计算机。这样虚拟化技术能让一台服务器变成几台甚至上百台互相隔离的虚拟服务器,不再受限于物理上的界限,而是让 CPU、内存、存储、I/O 等硬件变成可以动态管理的“资源池”,从而提高资源的利用率,简化系统管理,实现服务器整合池化,让 IT 对业务的变化更具适应力。虚拟化能够提高企业资源运营效率,节约能耗,降低经济成本和空间浪费。
服务器虚拟化示意图
CPU 虚拟化公式:
vCPU 数量=CPU 数量*每颗 CPU 核数*线程数*超分比
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。
评论