BikeGremlin pretraga...

Šta je to vCPU?

Ovo pišem za svog starog, dobrog prijatelja. Ako još nekome posluži – super! 🙂
Kada gledate ponude hostinga, bilo da je u pitanju shared, reseller, ili VPS hosting, često se možete sresti sa podatkom: “2 vCPU cores,” “150% CPU,” “4 x CPU” i slično. Šta to zapravo znači? Kratak odgovor je: “zavisi.” Za objašnjenje, čitajte dalje.


Sadržaj:

  1. Fizičko – šta je to CPU?
  2. Virtuelno – šta je to vCPU?
  3. vCPU prednosti
  4. Nisu svi vCPU jednaki
  5. Zaključak
  6. Dodatak – kako da proverite server?


1. Fizičko – šta je to CPU?

Da bi se lako razumelo šta je to vCPU, potrebno je prvo razumeti šta je to CPU.

CPU (eng. “Central Processing Unit”), odnosno centralni proceror je mozak računara (i pametnog telefona). Moderni procesori imaju više jezgara (eng. “core”), a svako jezgro može imati po više niti (eng. “thread”).

Ako zamislimo računar kao radionicu, to bi izgledalo ovako:

  • 1 CPU = jedna radionica.
  • 4 jezgra = 4 radnika.
  • 2 niti po jezgru = po dve ruke svakog radnika.
  • RAM = radni sto
    Mali radni sto znači da neće svi radnici moći raditi efikasno u isto vreme, sudaraće se.
  • NVMe (ili SSD) = magacin
    Mali magacin neće sadržati dovoljno rezervnih delova, mesta za gotove proizvode.
    Spor magacin neće dovoljno brzo dostavljati delove i unositi gotove proizvode, pa će radnici često tapkati u mestu, čekajući na magacionera.
  • Matična ploča = zgrada i hodnici
    Ako je zgrada loše projektovana, sa tesnim hodnicima, proizvodnja neće ići glatko, biće “uskih grla.”

– Sadržaj –


2. Virtuelno – šta je to vCPU?

Ovo ću objasniti prvo pomoću analogije, kako bi tehničke stvari u nastavku bile lakše razumljive.

Recimo da imam jednu radionicu (CPU), sa 4 radnika (jezgra), od kojih su svi jaki, zdravi i imaju po dve ruke (niti).

I recimo da hoću iznajmiti svoje proizvodne kapacitete drugoj kompaniji. Normalne kompanije će praviti ugovore po ceni proizvodnje jedinice proizvoda. Ali kada su hosting usluge u pitanju, stvari su dosta “maglovitije.”

  • Ako iznajmim celu radionicu, to je “dedicated server” i tu kupac zna šta dobija.
    Ako ja brinem i o bezbednosti, praćenju radnih sati, disciplini, i sl, onda je to “managed dedicated server.”
  • Ako iznajmim jednog radnika, to je “dedicated VPS” – i tu kupac u suštini zna šta dobija.
  • Ali šta ako iznajmim “radnika” (sa navodnicima, ili “radno mesto”)? To je vCPU, i to su standardne ponude VPS-ova i shared hosting-a. Čitajte dalje.

Kad iznajmljujem virtuelnog “radnika,” kupac ne zna šta tačno pod time podrazumevam. To nikad nije cela radionica (CPU). Gotovo nikad nije ni jedan radnik (jezgro). U najboljem slučaju to je proizvodni kapacitet jedne ruke (nit)!

Uz to, nisu svi radnici isti. Savremeni procesori rade brže i efikasnije od starijih, čak i ako imaju isti broj jezgara.

Povrh svega toga, u hosting industriji, u 99% slučajeva, stvari stoje još “gore” (navodnike kod ove reči ću objasniti u 3. poglavlju).

Uzmimo gore pomenuti proceosr sa 4 jezgra (radnika), od kojih svako ima po dve niti, kao primer:

  • 4 jezgra sa po 2 niti = 8 niti.
  • 8 niti puta 4 procesora (opet!) = 32 vCPU

I to ako provajder nije previše “halav” (videti “Overselling vs Overloading“)! Sa jednim fizičkim procesorom iz našeg primera možete lako napraviti (i prodati) i 64 vCPU-a. Korisnici često ne mogu znati šta zaista plaćaju, bez pokretanja testova brzine (eng. “benchmark”) – pogotovo na shared (i reseller) hosting okruženju.

Sada vam je jasno da “vCPU” sam po sebi ne znači praktično ništa? Od provajdera, do provajdera se razlikuje to koliko resursa zaista dobijate sa jednim vCPU.

Proces kojim se ovo tehnički postiže zove se “virtuelizacija.” Po sličnom principu i na svom računaru možete instalirati više virutelnih mašina.

– Sadržaj –


3. vCPU prednosti

Ako ste pročitali 2. poglavlje, sada se verovatno osećate prevarenim od strane hosting kompanija. Međutim, nije sve tako crno (sivo je 🙂 ). Zbog čega mislim da su vCPU-ovi fenomenalna stvar?

Serverski hardver, uključujući i procesore je skup za kupiti, i skup za održavanje (zaštita od požara, nestanka struje, fizičko obezbeđenje, održavanje, brza Internet konekcija itd.).

vCPU je odličan način da se uštedi.
Kad zovem vodoinstalatera, ne dajem mu celu mesečnu platu – plaćam samo za vreme koje provede u rešavanju mog problema.

Slično tome, kada iznajmim vCPU (od kvalitetnog hosting provajdera), plaćam samo za ono što koristim. Dosta s analogijama, evo praktičnog primera:

  • Svakog meseca, preko 170.000 ljudi poseti BikeGremlin sajtove.
  • Ostale sajtove koje hostujem (još oko 10ak) poseti preko 50.000 ljudi mesečno.
  • To je ukupno preko 220.000 mesečnih poseta, sa prosekom od preko 7.000 posetilaca dnevno.

Sve to zajedno je sasvim lepo radilo na 1,5 vCPU, uz prosečno opterećenje vCPU-a od ispod 25%. Zahvaljujući tome mogao sam uzeti relativno jeftin hosting paket, a da sajtovi rade lepo i brzo.

Da li sam mogao uzeti i svega 0,5 vCPU? Ne. Povremeno, na vrlo kratko, poneki moj sajt zatraži 1,5 vCPU. Ovo se obično dešava kada radim veće izmene na WordPress sajtu (na primer ako menjam strukturu kategorija na sajtu sa puno članaka i sl.).

Zbog ovoga sam čak iznajmio više resursa – 2,5 vCPU. Sad moji sajtovi nikad ne udaraju u granicu i svi mogu da rade lepo, sve vreme:

Ukupna upotreba vCPU (i RAM) resursa za preko deset WordPress sajtova
Ukupna upotreba vCPU (i RAM) resursa za preko deset WordPress sajtova
Slika 1

Suština je u tome da ne koriste svi sajtovi podjednaku količinu resursa u bilo kom datom momentu.

Zahvaljujući ovoj činjenici, hosting provajder može uraditi sledeće, a da svi sajtovi lepo rade, po jeftinoj ceni za korisnike:

  • Uzeti server sa jednim CPU-om od 4 jezgra sa po dve niti i napraviti 32 vCPU-a.
  • Na takvom serveru prodati 20 reseller hosting paketa poput mog – sa po 2,5 vCPU-a svaki.
  • Ili, prodati 500 shared hosting paketa sa po 1 vCPU za svaki.

Tako radi shared i reseller hosting. Slično restoranu koji dnevnu usluži stotine gostiju, a ima samo 20 stolova.

– Sadržaj –


4. Nisu svi vCPU jednaki

Jedan vCPU ne pruža podjednako brz rad kod svih provajdera. Zašto? Razlozi mogu biti sledeći (jedni ne isključuju druge):

  • Neki fizički CPU-ovi su moćniji od drugih (i obrnuto).
  • Neki provajderi nakrcaju previše korisnika na jedan fizički server.
  • Neki provajderi prodaju previše vCPU resursa na jednom fizičkom serveru.

Dosta toga zavisi i od kvaliteta infrastrukture i ostalog hardvera na serveru, kao i od stručnosti sistem administratora. Ali ovde ću detaljnije objasniti još jednu stvar, koja zavisi od poslovne politike provajdera:

Da li mogu koristiti 50%, ili 100% raspoloživih vCPU resursa na par sati, ili čak sve vreme?

  • Ako provajder ovo dozvoljava, onda je ili jako skup, ili mu server može raditi nestabilno ako klijenti imaju zahtevne projekte na serveru.
  • Ako provajder ovo striktno zabranjuje, tipa “ne više od 25% raspoloživih vCPU resursa na više od pola sata,” onda može biti jeftin sa brzim radom sajtova, ali klijenti moraju više voditi računa o tome šta rade.

Većina provajdera je negde između ova dva ekstrema, ali ne svi. HostMantis na primer postavlja strogo, fiksno ograničenje na svojim shared hosting paketima – ali sajtovi lete na tom, relativno jeftinom, hostingu. Dok Veerotech dozvoljava opuštenu upotrebu 100%, ali košta puno više – pa isto daje pristojne performanse (HostMantis je za nijansu brži po mom iskustvu 🙂 ).

Ovo pišem zato što sam bezbroj puta čuo pritužbe: “rekli su mi da trošim puno resursa i da moram preći na skuplji paket.”

Ako ste pročitali ovaj članak, jasno vam je zbog čega je to. Naravno, ima puno provajdera koji su loši i halavi. Ali ni najbolji provajderi ne mogu podneti da klijent koristi 100% resursa sve vreme – ne po cenama koje se naplaćuju za VPS i shared/reseller hosting. Za takvu upotrebu se uzima dedicated server, ili dedicated VPS.

Ispravka od strane Predraga Damjanovića iz MyCity Hostinga:
Ovo ne važi za sve provajdere unmanaged VPS-ova. Hetzner na primer toleriše korištenje praktično 100% raspoloživih resursa gotovo sve vreme, a nisu skupi.

– Sadržaj –


5. Zaključak

Što kažu ameri: “Nema besplatnog ručka.” Uz kvalitetnog hosting provajdera, vCPU-ovi omogućavju da za relativno malo novca dobijete dosta resursa – za kada vam zatrebaju.

Mana je što lošim provajderima omogućavaju da vam prodaju rog za sveću. Ali ovakve provajdere svakako treba izbegavati i iz hiljadu drugih razloga.

Ako nešto pomaže, ovo je moj spisak dobrih hosting provajdera, a ovde su moje recenzije hosting provajdera.

– Sadržaj –


6. Dodatak – kako da proverite server?

Velika većina provajdera ne daje podatke o hardveru servera, ili broju “prodatih” vCPU po jednom fizičkom CPU. Ovde ću opisati metode koje ja koristim za proveru i poređenje, kako bih znao je li jedan provajder “bolji/brži” od drugog.

Sysinfo skripta (link za download sa mog sajta – originalni izvor). Radi na većini shared i reseller hosting okruženja (radi sa PHP 7.X verzijama). Ako je uploadujete i otpakujete unutar javnog direktorijuma domena hostovanog kod nekog provajdera (obično “public_html”), odlaskom na adresu “vas-domen.com/sysinfo/” dobićete osnovne podatke o hosting serveru, uključujući i CPU.

Osnovni podaci hosting servera
Osnovni podaci hosting servera
Slika 2

Zatim vredi otići na ovu adresu (sajt Hurricane Electrics-a):

Tamo unesite IP adresu svog hosting servera i vidite koliko domena (sajtova) se hostuje na “vašem” serveru.

Ipak, desetine statičkih HTML sajtova neće opteretiti server ni blizu kao prosečan WordPress sajt. Isto tako, i moćan procesor može pružiti loše performanse ako se preoptereti sa puno “teških” sajtova. Tako da ovo treba uzeti sa rezervom.

Prava informacija dobija se, na žalost, tek kada isprobate u praksi i uporedite rezultate sa ostalim provajderima. Čak ni razni “benchmark” testovi ne daju pravu sliku. Dugotrajna realna upotreba je nenadmašiva.

Ipak, testovi možda neće otkriti koji provajderi su zaista dobri, ali mogu reći koje provajdere da izbegavate. Ja koristim Octoperf testove opterećenja, da vidim je li server OK, ili je baš jadan. 20 istovremenih posetilaca bi svaki shared pristojan hosting trebalo da izgura, ako je probni sajt WordPress, sa barem pristojnim keširanjem (bez keširanja mislim da je 10 prava mera). Test opterećenja ne bi smeo trajati više od 5 minuta bez provajderovog eksplicitnog odobrenja (proverite u vezi ovoga). Takođe, ako planirate raditi više od jednog-dva ovakva testa, proverite sa provajderom kako vas ne bi izbacili zbog zloupotrebe servera.

Podrazumeva se da za testiranje i poređenje koristite isti sajt, koji migrirate. U protivnom ćete porediti babe i žabe što se kaže, i nećete dobiti upotrebljive informacije.

– Sadržaj –


Molim Vas da koristite BikeGremlin.net forum za sva pitanja i komentare.

Ako ste primetili neku grešku u članku, ili informacije koje nedostaju - molim Vas da mi na to skrenete pažnju komentarom na BikeGremlin forumu.
Na forumu možete pisati anonimno (stavite bilo koje ime/nadimak pri registraciji), ali mislim da je dobro da sve dopune i ispravke članaka budu javno dokumentovane (čak i ako njihov autor izabere da ostane anoniman).

Skip to content