Um vCPU é o equi­va­lente virtual de um CPU físico, e figura como com­po­nente essencial da com­pu­ta­ção em nuvem. As vantagens de unidades de com­pu­ta­ção virtuais incluem melhor es­ca­la­bi­li­dade, razão pela qual de­sem­pe­nham papel im­por­tante na hos­pe­da­gem em nuvem, por exemplo.

O que é vCPU?

Virtual Central Pro­ces­sing Unit (vCPU) é a variante virtual de uma CPU física. Em outras palavras, vCPUs são unidades de pro­ces­sa­mento central de máquinas virtuais (VMs) e de ambientes de nuvem. Pro­ces­sa­do­res atuais, com vários núcleos, podem ser trans­for­ma­dos não somente em uma única vCPU, mas também servir de base para várias unidades de pro­ces­sa­mento virtuais. Contudo, vale destacar que o número de vCPUs possíveis não está vinculado ao número de núcleos ou de threads. Ele é des­co­berto, na verdade, uti­li­zando um cálculo:

(threads x núcleos) x CPU física = número de vCPUs cor­res­pon­den­tes

Tec­ni­ca­mente, vCPUs são im­ple­men­ta­ções de software com padrões físicos, sendo, por isso, per­ce­bi­das como núcleos de pro­ces­sa­do­res reais por sistemas ope­ra­ci­o­nais. Cada máquina virtual requer ao menos uma vCPU para funcionar. No entanto, de­pen­dendo do cenário e da ne­ces­si­dade, várias unidades de pro­ces­sa­mento virtuais podem ser definidas, para exe­cu­ta­rem cargas de trabalho mais intensas.

Quais são as vantagens da vCPU?

CPUs virtuais têm algumas vantagens fun­da­men­tais em com­pa­ra­ção com CPUs físicas. Entre as mais im­por­tan­tes estão:

  • Maior es­ca­la­bi­li­dade
  • Maior efi­ci­ên­cia
  • Maior fle­xi­bi­li­dade
  • Custos mais baixos

O ponto mais forte da vir­tu­a­li­za­ção como um todo é sua excelente es­ca­la­bi­li­dade de recursos de hardware. vCPUs usadas por uma máquina virtual podem, por exemplo, originar-se de vários hosts físicos di­fe­ren­tes, o que facilita o di­men­si­o­na­mento do de­sem­pe­nho do pro­ces­sa­dor à medida que a carga de trabalho aumenta.

Já quando vCPUs não são mais ne­ces­sá­rias, elas podem, sim­ples­mente, passar a ser uti­li­za­das por outras VMs. A pos­si­bi­li­dade é ex­tre­ma­mente in­te­res­sante para pro­ve­do­res de ambientes de hos­pe­da­gem, pois permite que in­fra­es­tru­tu­ras sejam divididas entre clientes de maneira dinâmica e par­ti­cu­lar­mente eficiente. Usuários be­ne­fi­ciam-se ao poderem ajustar vCPUs às suas demandas, de forma flexível. Como não há uma con­fi­gu­ra­ção de hardware fixa, é mais fácil adquirir mais ou menos potência de pro­ces­sa­dor em ser­vi­do­res em nuvem ou em VPS.

Efi­ci­ên­cia e es­ca­la­bi­li­dade tornam vCPUs van­ta­jo­sas em termos de custos: um único sistema de hos­pe­da­gem pode processar sistemas ope­ra­ci­o­nais e softwares di­fe­ren­tes, ao mesmo tempo. Isso quer dizer que seu poder de com­pu­ta­ção é otimizado. Em muitos casos, economiza-se até com hardwares adi­ci­o­nais.

Dica

Entenda melhor as di­fe­ren­ças entre pro­ces­sa­do­res físicos e pro­ces­sa­do­res virtuais acessando nosso artigo CPU vs. vCPU.

Em que situações vCPUs são uti­li­za­das?

vCPUs são es­sen­ci­ais para a com­pu­ta­ção em nuvem. Sempre que hardwares ou softwares são dis­po­ni­bi­li­za­dos em nuvem, unidades de com­pu­ta­ção virtual são usadas. Isso ocorre, por exemplo, no contexto de ar­ma­ze­na­mento em nuvem, servidor de hos­pe­da­gem e ao utilizar com­pu­ta­do­res em nuvem, como o Windows 365.

A quan­ti­dade de vCPUs ne­ces­sá­ria a cada projeto depende da carga de trabalho: em muitos cenários, um ou dois pro­ces­sa­do­res virtuais são su­fi­ci­en­tes. Para cargas de trabalho mais exigentes com re­qui­si­tos maiores, como no caso de ser­vi­do­res de banco de dados, e-mails ou jogos, mais vCPUs serão ne­ces­sá­rias, assim como é ne­ces­sá­rio maior poder de pro­ces­sa­mento físico.

Pla­ta­for­mas de con­têi­ne­res como o Docker são outra tec­no­lo­gia de vir­tu­a­li­za­ção baseada em vCPU. Ao contrário do que ocorre com máquinas virtuais, nenhum sistema to­tal­mente funcional é vir­tu­a­li­zado neste caso, apenas apli­ca­ti­vos in­di­vi­du­ais.

Como di­men­si­o­nar uma vCPU?

Para gozar das vantagens de ambientes vir­tu­a­li­za­dos de forma otimizada, o grande desafio é entender o número de vCPUs ne­ces­sá­rio a uma aplicação, sem que haja des­per­dí­cio da ca­pa­ci­dade com­pu­ta­ci­o­nal. Caso você se depare com a difícil tarefa de di­men­si­o­nar uma vCPU para seu projeto, oriente-se pelos re­qui­si­tos que seriam exigidos por hardwares físicos. Por exemplo, se um software (jun­ta­mente do sistema ope­ra­ci­o­nal) exigir oito núcleos físicos, atribua oito vCPUs ao ambiente virtual.

Se re­qui­si­tos au­men­ta­rem pos­te­ri­or­mente, devido à execução de apli­ca­ções em paralelo ou à evolução da com­ple­xi­dade do seu projeto, basta que você aumente o número de vCPUs. Da mesma forma, caso re­qui­si­tos diminuam você pode reduzir a ca­pa­ci­dade de com­pu­ta­ção atribuída.

Para cargas de trabalho pesadas, com uso intensivo da ca­pa­ci­dade com­pu­ta­ci­o­nal, é fun­da­men­tal que vCPUs sejam atri­buí­das a CPUs físicas di­fe­ren­tes. Por exemplo, se você estiver uti­li­zando um hardware com uma CPU dual-core (2 núcleos físicos e 4 núcleos lógicos), deverá dividir os quatro núcleos lógicos da seguinte forma, para não pre­ju­di­car o de­sem­pe­nho:

  • Atribua os núcleos lógicos 0 e 2 à primeira máquina virtual. Este é o primeiro núcleo da CPU física de dois núcleos. Recursos por ele dis­po­ni­bi­li­za­dos devem ser su­fi­ci­en­tes para aguentar a carga de trabalho.
  • Enquanto isso, use os núcleos lógico 1 e 3, ou seja, o segundo núcleo da CPU dual-core física, para uma segunda máquina virtual, com cargas de trabalho menos exigentes. Ele seria ideal, por exemplo, para um servidor DNS.
Ir para o menu principal