Zorgen dat je processoren op tijd ‘aan tafel’ kunnen

VMWare definieert ‘CPU ready time’ als het percentage van de tijd dat de virtual machine gereed staat voor gebruik, maar geen gebruik kon maken van de fysieke processor. Voor systeembeheerders klinkt dit jargon duidelijk, maar voor buitenstaanders is een korte uitleg nodig.

Veel mensen denken dat je met meer virtuele processoren veel meer rekenkracht in je virtual machine kunt krijgen. Dat je met vier, acht of zelfs zestien vCPUs een wereld van verschil kunt maken. Niets is minder waar; je hebt in principe genoeg aan zelfs één enkele vCPU.

Je moet de processorstructuur zien als een restaurant. Als je met een groep van acht mensen graag ergens wilt eten, maar er zijn maar twee plaatsen vrij, dan zal je moeten wachten. Vervolgens komt een groep van vier binnen en komen er twee andere plaatsen vrij (momenteel vier vrije plaatsen in totaal). Vervolgens mag de groep van vier aan een tafel gaan zitten, omdat het restaurant op deze manier de bezetting veel beter kan vullen.

Dit principe komt overeen met de manier waarop CPU ready time werkt. Simpelweg meer vCPUs aanzetten betekent niet dat alle regels van processoren opeens niet meer bestaan. Wanneer je acht vCPUs wilt laten werken, hebben ze acht fysieke CPUs nodig. De tijd dat vCPUs moeten wachten, is de CPU ready time. Ze staan gereed om berekeningen uit te voeren, maar kunnen niets doen omdat er geen fysieke CPU beschikbaar is.

Op deze manier kunnen een aantal vCPUs niet aan de bak komen; dit betekent dat de vCPUs die wel al ‘aan tafel zitten’ harder moeten werken om de last van de andere vCPUs mee te dragen. Zorg dus altijd dat de verdeling van virtuele en fysieke processoren klopt zodat je ‘restaurant’ altijd goed wordt benut en de CPU ready time zo laag mogelijk blijft!