设为首页 | 加入收藏
网站首页 新闻资讯 云商城 业务领域 解决方案 成功案例 支持与服务 招贤纳士 关于晟启 咨询热线:
400 600 3190
支持与服务内容 技术文档资料 软件下载 服务联系方式
vCPU是不是越多越好?

什么是vCPU?

vCPU,顾名思义,是虚拟CPU。 vCPU是虚拟机的部件,创建虚拟机时,需要配置vCPU资源。因此脱离VM,谈论vCPU是没有意义的。

 

vCPU是如何调用的?

虚拟化管理系统按照时间片轮转方式进行资源调度,当系统内的VM所需要的vCPU核大于物理CPU核数时,虚拟化管理系统首先按照时间片轮流调度一遍,然后如果还有剩余的CPU资源,则给所需要的vCPU。例如系统配置了40个vCPU,只有20个物理核。那么平均每个vCPU获取一个物理核50%的资源。由于有些VM忙,有些VM空闲,虚拟化系统会在一个调度周期内,划分出若干时间片,轮流给每个vCPU使用。忙的vCPU可以占用整个时间片,而闲的vCPU占用部分时间片,会提前释放资源。这样在一个调度周期内,对每个vCPU都调度一遍后还有空闲的时间,调度器会用这剩余的资源去调度忙的vCPU。 这样做的目的是兼顾公平和效率。这中调度算法举个例子:系统有1个CPU 2.0 Ghz,两个VM,分配1个vCPU。如果VM1 和 VM2都忙,那么各自相当于拥有一个1.0 Ghz的CPU。如果VM1很忙,VM1只需要 500Mhz的处理能力,那么在VM1看来,相当于暂时获得了 1.5Ghz的处理器。

举个更形象的例子:有一座庙(一个物理机),庙里有一些和尚(VM),每顿饭只做20碗饭(20个物理核),有的和尚吃两碗饭 (2vCPU),有的和尚吃四碗饭(4vCPU)。如果这些和尚吃的总饭量,不超过20碗,按需分配,多出的饭,剩下。如果和尚的总需求超出了庙里的总饭量,怎么办?那就把一碗饭分成若干份,均分到和尚的碗里(vCPU)。更进一步的需求是:和尚又有不同的等级(CPU权重),均分资源方式就改进成了按照等级分庙里的几碗饭,主持可以分多一点,小和尚少一点。另外,有的和尚有特殊需求,只能从庙里的某几个碗中分饭吃(CPU 绑定CPU pin)。

上述的一些分配方法都有一个缺点,就是和尚究竟能吃多少饭,是不确定的。取决于庙里有多少和尚、庙里有多少碗饭,以及碗的大小。  所以VMware改进了一下,干脆就定义了一个和尚吃几碗,每碗饭量多少克。 这样和尚无论到那个庙(与虚拟化环境无关),都保证能吃饱。 不过庙的管理就麻烦一些了,米饭不够时,可能就不能招收新的和尚了(CPU资源不足,就无法创建VM了)


 

vCPU是不是越多越好?

虚拟机需要多少个vCPU呢?是不是个数越多性能越好呢?

这方面存在着很多误区。给VM配置CPU资源的时候,要精打细算才能最大可能的利用已有资源,来满足商业应用的需要。虚拟机性能取决于配置的合理性—确保虚拟机获得足够多的时钟周期、内存空间以及IO带宽。当配置错误或者计算需求增加导致虚拟机出现资源紧张状况时,虚拟机性能及稳定性可能会受影响

有的情况下为某个VM设置过多vCPU数目,反而会造成该应能的性能下降。也造成整个系统的资源浪费。


如何合理分配vCPU资源?

了解了vCPU在虚拟化平台里的运行原理后,我们知道vCPU的分配并不是越多越好,分少了,VM性能不够;分多了,也可能造成vm性能下降,那么如何正确的分配vCPU呢?

 

手工的办法是:

根据应用的情况先大致分一定数量的vCPU,然后根据实际情况调节vCPU个数。比如说我们先给VM分4vCPU,如果CPU使用率一直比较高,可成倍增加到8vCPU或16vCPU,这个主要是看应用强度。

如果ESXi只跑一个VM,原则是vCPU的个数不要多于物理CPU总个数。虚拟化vCPU还有一个原则就是够用就好,只要CPU资源够就可以了,不要对资源进行过度分配。 

 

公司名称:海南晟启云计算科技有限公司
联系电话:0898-68548041/68551390
咨询服务热线:400 600 3190
传真0898-68548041
QQ号码:307752331     电子邮箱:sqldyyp@163.com
公司地址:海南省海口市国贸北路26号金茂大厦18E1室

关于官方微信

在线客服 业务简介 联系我们
海南晟启云计算科技有限公司 @ 2001-2026版权所有 技术热线:13337622668 琼ICP备18001661号 全程开发设计:海南中立科技:企业邮箱登陆: