Terug naar blog

Stelen we van u? CPU steal time begrijpen in de cloud

Stelen we van u? CPU steal time begrijpen in de cloud

Klanten vragen vaak naar CPU steal time. Vooral degenen die de CPU’s intensief gebruiken en voor wie het een belangrijk prestatiecriterium is. Er zijn nogal wat verschillen in de inrichting en het gedrag van CPU’s en cores tussen fysieke en virtuele omgevingen. Zelfs tussen cloudproviders zijn er verschillen in de inrichting die een directe vergelijking op het eerste gezicht moeilijk maken. Om deze reden vonden we het nuttig om een kort overzicht te geven van onze inrichting en CPU-allocatielogica voor klanten, en om de meest voorkomende bronnen van CPU steal time uit te leggen.

Dus allereerst, voor degenen die niet bekend zijn met het concept: CPU steal time is de tijd die uw virtuele CPU binnen uw cloudserver moet wachten op de echte fysieke CPU terwijl de hypervisor druk bezig is deze voor andere dingen te gebruiken (zoals andere virtuele machines/cloudservers). Dit is een geweldig artikel over CPU steal time dat zeker het lezen waard is.

Een beetje informatie over onze CPU-inrichting

Het eerste dat u moet begrijpen, heeft te maken met de manier waarop we cores toewijzen aan virtuele machines op elke fysieke compute node die uw computing host. CPU’s en hun cores bij CloudSigma worden gedeeld. Met andere woorden, we koppelen de cloudserver van een klant niet aan specifieke cores. De CPU-tijd wordt dynamisch toegewezen door de scheduler van de fysieke compute node en alles wordt gedeeld. Wij geloven dat dit een aantal voordelen heeft voor het leveren van betrouwbaardere prestaties in zijn geheel, door de compute node in staat te stellen om direct verstandige aanpassingen in de toewijzing te doen om de belasting te balanceren.

In combinatie hiermee gebruiken we Control Groups (kortweg cgroups) om voldoende CPU-tijd te garanderen voor elk van de cloudservers in overeenstemming met de resources die u via de servergrootte hebt ingesteld. Uiteindelijk beslist de scheduler wat er met de resterende resources en cgroups gebeurt. Het is ook vermeldenswaard dat we een set specifieke cores reserveren die buiten het bereik van de toewijzing voor computing-workloads van klanten vallen. We gebruiken deze cores om het besturingssysteem van de fysieke host te draaien. In het bijzonder reserveren we extra cores voor de verwerking van netwerk- en opslagactiviteiten. Dit alles is bedoeld om de stabiliteit van de gehele machine te verhogen. Bovendien helpt het om in de loop van de tijd betrouwbare prestatieniveaus te leveren, onafhankelijk van de belasting van andere klanten voor u als klant.

De bronnen van CPU steal time in een gevirtualiseerde omgeving

In tegenstelling tot een fysieke omgeving zijn er meerdere bronnen en situaties waarin u CPU steal time kunt ervaren. Dit komt omdat de zaken complexer zijn in een multi-tenant gevirtualiseerde omgeving. Niet in al deze situaties krijgt u daadwerkelijk niet de CPU-tijd die u zou moeten krijgen; in feite kunt u in veel gevallen vaak extra CPU-cycli verbruiken buiten uw toegewezen capaciteit, maar dat is geen situatie waarin u CPU steal time zou zien. De drie meest voorkomende situaties worden hieronder in meer detail beschreven.

Uw cloudserver is overbelast
Het gebeurt! Iedereen wil zo dicht mogelijk bij de volledige capaciteit gebruiken waarvoor wordt betaald, maar als de toegewezen CPU aan uw virtuele cloudserver niet voldoende is om de workload te verwerken, kunt u CPU steal time zien optreden naarmate taken zich ophopen en in de wachtrij van de virtuele CPU komen te staan. Als dit de hoofdoorzaak is van de CPU steal time, dan is de oplossing om de cloudserver te schalen. Als dit een tijdelijke overbelasting is, kunt u de situatie gerust ongewijzigd laten. U zult de CPU steal time zien verdwijnen zodra uw belasting afneemt.

De fysieke server die uw cloudserver host is overbelast
Als er sprake is van een overbelasting van de host, is dit in dit geval een fout van onze kant. Het is zeldzaam, maar het kan gebeuren. In dit geval gebruiken we live migratie om virtuele machines zonder onderbreking naar andere fysieke compute nodes te migreren om de belastingsniveaus weer terug te brengen naar een normaal niveau. Over het algemeen houden we hosts ruim onder de volledige belasting. Dus als u dit gedurende een langere periode blijft waarnemen, neem dan contact met ons op. Onze gratis 24/7 ondersteuning kan de fysieke host controleren waarop u zich bevindt. Als er geen overbelasting is, is dit waarschijnlijk niet de hoofdoorzaak van uw CPU steal time.

Je gebruikt een kleinere virtuele core-grootte
Bij CloudSigma geven we je de mogelijkheid om de virtuele core-grootte te definiëren om te profiteren van bijvoorbeeld meer CPU-threads of meer kleinere virtuele cores voor elke cloudservergrootte. De cloudserver binnen het besturingssysteem zal de core-grootte altijd zien als de volledige fysieke grootte.

Als de fysieke core 2.6GHz is, maar je VM 4GHz is en twee cores heeft, zal elke virtuele core 2GHz zijn. Je zult dus altijd steal-time zien. Dit komt omdat je een pro rata deel van de totale core ontvangt en niet de volledige grootte, omdat de virtuele core-grootte kleiner is. Daarom moet je berekeningen van CPU-steal-time altijd aanpassen om rekening te houden met een kleinere virtuele core-grootte als je die inderdaad gebruikt. Om dit te voorkomen, kun je de volledige core-grootte per core gebruiken. Dit kun je doen door de virtuele core-grootte uit te breiden naar de volledige CPU-core-grootte (bijv. Intel v4 2.6GHz).

Conclusie

CPU-steal-time in de cloud is iets complexer dan in traditionele fysieke single-tenant-omgevingen. Het bestaat echter absoluut nog steeds. De rapportage van CPU-steal-time door besturingssystemen is echter niet aangepast aan de verschillende omstandigheden. Dit betekent dat je valse positieven kunt krijgen. Wanneer je CPU-steal-time constateert, betekent dit meestal dat er een resourcebeperking optreedt. We hopen dat dit bericht je helpt om snel de hoofdoorzaak te identificeren en te zorgen voor een continue soepele werking.

Veel computerplezier!

Robert

 

author

Robert Jenkin

Auteur · CloudSigma

Preslav Dobrev is een creatief ontwerper bij CloudSigma, met de nadruk op een consistente bedrijfsidentiteit door middel van traditionele en innovatieve marketingkanalen. Hij is bedreven in het samenvoegen van artistieke visie met strategische marketing om impactvolle merkverhalen te creëren.

Reacties

Nog geen reacties. Wees de eerste.