Az ügyfelek gyakran kérdeznek a CPU steal time-ról. Különösen azok, akik intenzíven használják a CPU-kat, és akik számára ez kulcsfontosságú teljesítménykritérium. Elég sok különbség van a CPU-k és magok beállítása és viselkedése között a fizikai és a virtuális környezetekben. Még a felhőszolgáltatók között is vannak olyan beállításbeli különbségek, amelyek megnehezítik a közvetlen összehasonlítást. Emiatt hasznosnak tartottuk, hogy rövid áttekintést nyújtsunk a beállításainkról és a CPU-allokációs logikánkról az ügyfelek számára, valamint elmagyarázzuk a CPU steal time leggyakoribb forrásait.
Először is, azok számára, akik nem ismerik a fogalmat, a CPU steal time az az idő, amit a felhőszerverén belüli virtuális CPU-nak a valódi fizikai CPU-ra kell várnia, miközben a hypervisor más dolgokra (például más virtuális gépekre/felhőszerverekre) használja azt. Ez egy nagyszerű cikk a CPU steal time-ról, amit mindenképpen érdemes elolvasni.
Néhány információ a CPU-beállításainkról
Az első dolog, amit meg kell érteni, azzal kapcsolatos, hogyan osztjuk el a magokat a virtuális gépek között az Ön számítási feladatait kiszolgáló egyes fizikai számítási csomópontokon. A CPU-k és magjaik a CloudSigma esetében megosztottak. Más szóval, nem rögzítjük az ügyfelek felhőszervereit konkrét magokhoz. A CPU-időt a fizikai számítási csomópont ütemezője dinamikusan osztja ki, és minden megosztott. Meggyőződésünk, hogy ez számos előnnyel jár a megbízhatóbb, holisztikus teljesítmény nyújtásában, mivel lehetővé teszi a számítási csomópont számára, hogy menet közben ésszerű allokációs módosításokat hajtson végre a terhelés kiegyenlítése érdekében.
Ezzel kombinálva Control Groups-ot (röviden cgroups) használunk, hogy garantáljuk a megfelelő CPU-időt minden egyes felhőszerver számára, összhangban az Ön által a szerverméret révén beállított erőforrásokkal. Végül az ütemező dönti el, mi legyen a megmaradt erőforrásokkal és a cgroups-szal. Érdemes megjegyezni azt is, hogy fenntartunk egy sor konkrét magot az ügyfelek számítási feladataihoz tartozó allokációs tartományon kívül. Ezeket a magokat a fizikai gazdagép operációs rendszerének futtatására használjuk. Különösen a hálózati és tárolási műveletek feldolgozására tartunk fenn további magokat. Mindez a teljes gép stabilitásának növelését szolgálja. Emellett segít abban, hogy az idő múlásával is megbízható teljesítményszintet biztosítsunk az Ön, mint ügyfél számára, függetlenül a többi ügyfél terhelésétől.
A CPU steal time forrásai virtualizált környezetben
A fizikai környezettel ellentétben több olyan forrás és helyzet is létezik, amikor CPU steal time-ot tapasztalhat. Ez azért van, mert a dolgok összetettebbek egy többbérlős virtualizált környezetben. Nem mindegyik jelent olyan helyzetet, amikor valóban nem kapja meg a szükséges CPU-időt; valójában sok esetben gyakran a kiosztott méreten felüli szabad CPU-ciklusokat is kihasználhatja, de ez nem olyan helyzet, amikor CPU steal time-ot látna. Az alábbiakban részletesebben bemutatjuk a három leggyakoribb helyzetet.
A felhőszervere túlterhelt
Előfordul! Mindenki szeretné a lehető legjobban kihasználni azt a kapacitást, amiért fizet, azonban ha a virtuális felhőszerveréhez rendelt CPU nem elegendő a munkaterhelés feldolgozásához, CPU steal time-ot tapasztalhat, mivel a feladatok feltorlódnak és sorba állnak a virtuális CPU-n belül. Ha ez a CPU steal time kiváltó oka, akkor a megoldás a felhőszerver átméretezése. Ha ez egy átmeneti túlterhelés, nyugodtan hagyhatja a dolgokat változatlanul. A CPU steal time el fog tűnni, amint a terhelés csökken.
A felhőszerverét kiszolgáló fizikai szerver túlterhelt
Ha a gazdagép túlterhelt, az a mi részünkről jelent hibát. Ritka, de előfordulhat. Ebben az esetben élő migrációt használunk a virtuális gépek zökkenőmentes áttelepítésére más fizikai számítási csomópontokra, hogy a terhelési szinteket visszaállítsuk a normális szintre. Általában a gazdagépeket jóval a teljes terhelés alatt tartjuk. Ha tehát ezt hosszabb időn keresztül tapasztalja, kérjük, lépjen kapcsolatba velünk. Ingyenes, éjjel-nappali (24/7) ügyfélszolgálatunk ellenőrizni tudja a fizikai gazdagépet, amelyen Ön tartózkodik. Ha nincs túlterhelés, akkor nem valószínű, hogy ez a CPU steal time kiváltó oka.
Kisebb virtuális magméretet használ
A CloudSigma-nál lehetőséget biztosítunk a virtuális magméret meghatározására, így bármilyen felhőszerver-méret esetén kihasználhatja például a több CPU-szál vagy a több kisebb virtuális mag előnyeit. Az operációs rendszeren belüli felhőszerver a magméretet mindig a teljes fizikai méretnek fogja látni.
Ha a fizikai mag 2.6GHz, de a VM-je 4GHz és két maggal rendelkezik, minden virtuális mag 2GHz lesz. Így mindig látni fogja a steal time-ot. Valójában ez azért van, mert a teljes mag arányos részét kapja meg, nem a teljes méretet, mivel a virtuális mag mérete kisebb. Emiatt mindig módosítania kell a CPU steal time számításait, hogy figyelembe vegye a kisebb virtuális magméretet, ha valóban azt használja. Ennek elkerülése érdekében használhatja a magonkénti teljes magméretet. Ezt úgy teheti meg, hogy a virtuális magméretet a teljes CPU-magméretre növeli (pl. Intel v4 2.6GHz).
Összegzés
A felhőben a CPU steal time egy kicsit összetettebb, mint a hagyományos, egybérlős fizikai környezetekben. Azonban határozottan létezik. Az operációs rendszerek CPU steal time jelentései azonban nem alkalmazkodtak a különböző körülményekhez. Ez azt jelenti, hogy téves pozitív eredményeket kaphat. Ha CPU steal time-ot tapasztal, az általában azt jelenti, hogy erőforrás-korlát lépett fel. Reméljük, ez a bejegyzés segít gyorsan azonosítani a kiváltó okot, és biztosítani a folyamatos, zökkenőmentes működést.
Kellemes számítástechnikát!
Robert
Hozzászólások
Még nincsenek hozzászólások. Legyen Ön az első.