Suurin ero CPU:n ja vCPU:n välillä on se, että CPU on fyysinen laite, kun taas vCPU on oh­jel­mis­to­poh­jai­nen vir­tu­aa­li­nen versio. Nämä kaksi kes­kusyk­sik­köä eroavat toi­sis­taan myös suo­ri­tus­ky­vyn ja käyt­tö­tar­koi­tuk­sen suhteen.

Ero 1: Tek­no­lo­gi­nen perusta

CPU:n ja vCPU:n ver­tai­lus­sa rat­kai­se­va ero on tekninen. CPU on tie­to­ko­neen lait­teis­to, jota yleisesti kutsutaan ”pro­ses­so­rik­si”. Ny­ky­ai­kai­sis­sa CPU:issa on yleensä useita ytimiä, joille ne voivat jakaa suo­ri­tet­ta­vat prosessit.

VCPU puo­les­taan on tie­to­ko­neen oh­jausyk­si­kön oh­jel­mis­to­poh­jai­nen variantti. Se ei ole fyy­si­ses­sä muodossa, vaan perustuu fyysiseen CPU:hun. Vaa­ti­muk­sis­ta riippuen klas­si­ses­ta fyy­si­ses­tä CPU:sta voidaan johtaa useita vCPU:ita. Vaikka vCPU ei voi perustua useisiin fyysisiin CPU:ihin, vCPU voi käyttää fyysisen CPU:n useita ytimiä.

Luo­dak­seen ja mää­rit­tääk­seen vCPU:t vir­tu­aa­li­ko­neel­le (VM) hy­per­vi­so­rit käyttävät käy­tet­tä­vis­sä olevia fyysisten pro­ses­so­rien ytimiä tai säikeitä.

Ero 2: Suo­ri­tus­ky­ky

Suo­ri­tus­ky­vyn osalta huomaat selvän eron vCPU:iden ja CPU:iden pro­ses­soin­ti­te­hos­sa. Tämä johtuu siitä, että vCPU:t ovat tarkkaan ottaen CPU:n oh­jel­mis­to­poh­jai­sia alayk­si­köi­tä. Jos verrataan yhtä vCPU:ta ja yhtä CPU:ta, joilla on sama kel­lo­taa­juus (gi­ga­hert­si), vir­tua­li­soi­tu versio ei ole yhtä tehokas kuin sen lait­teis­to­ver­sio. Tämä johtuu osittain siitä, että fyysisen CPU:n kanssa koor­di­noin­ti vie aikaa. Vaikka tämä vie usein vain vähän aikaa, se tulee huo­ma­tuk­si, kun suo­ri­te­taan erityisen vaativia tehtäviä.

Lisäksi fyysinen CPU, jossa on ala­jao­tel­lut ytimet ja säikeet, voi käsitellä useita ohjeita tai pro­ses­se­ja suoraan ja sa­ma­nai­kai­ses­ti. Tätä varten vCPU:ta olisi täy­den­net­tä­vä muilla vCPU:illa, mikä voi osoit­tau­tua varsin on­gel­mal­li­sek­si. vCPU:iden määrän kasvaessa eri pro­ses­sien suo­ri­tusa­jan sää­te­lys­tä tulee yhä mo­ni­mut­kai­sem­paa CPU-ai­ka­tau­lut­ta­jal­le. Tuloksena olevat odo­tusaa­jat tar­koit­ta­vat, että vir­tu­aa­li­sen CPU-verkon suo­ri­tus­ky­kyä ei voida hyödyntää täy­si­mää­räi­ses­ti.

Ero 3: So­vel­ta­mi­sa­la

CPU:t ovat pe­rin­tei­sen tie­to­ko­neen sydän. Ilman riittävää las­ken­ta­te­hoa PC-tie­to­ko­neet eivät pystyisi suo­rit­ta­maan monia tehtäviä, kuten pe­laa­mis­ta, suo­ra­tois­toa, kuvien ja videoiden muok­kaus­ta sekä laskelmia. Fyysisiä CPU:ita käytetään myös monissa muissa jo­ka­päi­väi­sis­sä lait­teis­sa, kuten kah­vin­keit­ti­mis­sä, as­tian­pe­su­ko­neis­sa, jää­kaa­peis­sa ja tietysti äly­pu­he­li­mis­sa ja muissa mo­bii­li­lait­teis­sa.

vCPU:t toimivat vir­tua­li­soi­tu­jen ym­pä­ris­tö­jen kes­kei­se­nä las­ken­ta­kom­po­nent­ti­na. Niitä voidaan käyttää myös lu­kui­sis­sa käyt­tö­ta­pauk­sis­sa, kun kyseessä ovat omalla käyt­tö­jär­jes­tel­mäl­lä va­rus­te­tut vir­tu­aa­li­ko­neet. Erityisen suo­sit­tu­ja ovat tes­tausym­pä­ris­töt ja palvelin-/so­vel­lus­pal­ve­lut, kuten tie­to­kan­ta­pal­ve­li­met, pil­vi­tal­len­nus ja vir­tu­aa­li­set yk­si­tyis­pal­ve­li­met (VPS). Tässä yh­tey­des­sä käy selväksi, että kyse ei ole niinkään CPU:n ja vCPU:n välisestä kil­pai­lus­ta, vaan siitä, miten fyysinen ja vir­tua­li­soi­tu las­ken­ta­te­ho voivat olla vuo­ro­vai­ku­tuk­ses­sa keskenään. Taustalla olevaa fyysistä CPU:ta voidaan käyttää perustana useille vir­tua­li­soi­tu­neil­le ym­pä­ris­töil­le, jotka toimivat sa­ma­nai­kai­ses­ti useille käyt­tä­jil­le. Tämä tekee vCPU:sta niin kiin­nos­ta­van pal­ve­lun­tar­joa­jil­le ja pil­vi­pal­ve­lu­jen käyt­tä­jil­le.

Miten CPU:t muun­ne­taan vCPU:iksi?

Jos haluat käyttää tie­to­ko­nee­si fyysistä CPU:ta yhden tai useamman vir­tu­aa­li­ko­neen vCPU:iden tuot­ta­mi­seen, voit käyttää seuraavaa kaavaa ar­vioi­dak­se­si karkeasti tuo­tet­ta­vien vCPU:iden määrän:

(Säikeet x ytimet) x fyysisten CPU-yk­si­köi­den lukumäärä = vCPU-yk­si­köi­den lukumäärä

Esi­mer­kik­si, jos olet asentanut neljän ytimen ja kahdeksan säikeen pro­ses­so­rin, voit tarjota jopa 32 vCPU:ta:

(8 säiettä x 4 ydintä) x 1 = 32 vCPU:ta

Voit selvittää CPU:n ytimien ja säikeiden lu­ku­mää­rän milloin tahansa muu­ta­mal­la yk­sin­ker­tai­sel­la vaiheella. Jos käytät Windows-tie­to­ko­net­ta, voit toimia seu­raa­vas­ti:

  1. Avaa Teh­tä­vien­hal­lin­ta näp­päi­nyh­dis­tel­mäl­lä Ctrl + Shift + Esc.
  2. Napsauta Suo­ri­tus­ky­ky -valikkoa.
  3. Siellä on luettelo tiedoista, joista löydät ytimien, loogisten pro­ses­so­rien (säikeiden) ja liit­ti­mien (fyysisten CPU:iden) arvot.
Kuva: Windows Task Manager: CPU information
Windows Task Manager: CPU in­for­ma­tion

Jos käytät Linux-käyt­tö­jär­jes­tel­mää, voit selvittää CPU-tiedot ter­mi­naa­lin kautta seu­raa­val­la ko­men­nol­la:

lscpu
bash
Siirry pää­va­lik­koon