Virtualisation

Qu'est-ce que vCPU ?

Également connu sous le nom de: virtual CPU
Définition

A vCPU is a virtual processor presented to a guest, backed by scheduling time on a physical core or thread. The decisive question is whether the backing thread is shared with other tenants or reserved. A dedicated vCPU has no other tenant scheduled against it; a shared one competes, producing steal time.

Pourquoi vCPU est important

La question décisive est de savoir si le thread sous-jacent est partagé avec d'autres locataires ou réservé. Un vCPU dédié n'a aucun autre locataire ordonnancé contre lui ; un vCPU partagé entre en concurrence, produisant du steal time.

vCPU en pratique

Lorsque vous exécutez un serveur, le vCPU est ce que votre charge de travail consomme réellement. Vous regardez d'abord le temps de vol : s'il est constamment au-dessus de quelques pourcents, vos vCPUs sont partagés et d'autres locataires mangent vos cycles. Vous pourriez augmenter le nombre de vCPUs pour corriger la latence, mais vérifiez si le problème est la contention, pas les cœurs. Se tromper signifie payer pour du temps de planification qui n'est pas le vôtre, et votre application subit des arrêts que vous ne pouvez pas expliquer.

Ce qu'on comprend mal à propos de vCPU

Une erreur courante est de traiter les vCPUs comme s'ils étaient des cœurs physiques avec une vitesse garantie. Dans un environnement KVM, chaque vCPU est soutenu par un thread hôte, et sur un hôte partagé, ce thread entre en compétition. Les gens supposent que plus de vCPUs aident toujours, mais si le thread de soutien est en contention, vous obtenez du temps de vol. La correction : vérifiez le temps de vol avant d'augmenter le nombre de vCPUs.

vCPU — questions fréquentes

De combien de vCPUs ai-je besoin ?

Cela dépend de votre charge de travail. Pour un serveur web occupé, commencez avec deux et surveillez le temps de vol du CPU. Si le vol reste faible et que vous êtes toujours plafonné, ajoutez des vCPUs. Sur nos plans KVM, vous pouvez augmenter le CPU et la RAM avec un court redémarrage, donc vous pouvez ajuster sans reconstruire.

Puis-je changer le nombre de vCPUs plus tard ?

Oui, sur votre serveur existant, vous pouvez augmenter le CPU avec un redémarrage court, et l'espace disque augmente à chaud. Passer à un niveau inférieur nécessite une reconstruction plutôt qu'une migration à chaud, il est donc préférable de commencer petit et d'évoluer.

Plus de virtualisation

KVM
KVM est une virtualisation matérielle complète intégrée au noyau Linux, donnant à chaque invité son propre noyau et une isolation renforcée par le matériel vis-à-vis des autres locataires.
OpenVZ
OpenVZ est une virtualisation par conteneurs dans laquelle chaque instance partage le noyau hôte, de sorte que les invités ne peuvent pas charger de modules noyau ni exécuter un système d'exploitation différent.
LXC
LXC est la conteneurisation native de Linux qui isole les processus avec des espaces de noms et des cgroups tout en partageant le noyau hôte.
Hyperviseur
Un hyperviseur est la couche logicielle qui crée et exécute des machines virtuelles, allouant les CPU physiques, la mémoire et les entrées-sorties entre elles.
Virtualisation imbriquée
La virtualisation imbriquée permet à une machine virtuelle d'exécuter elle-même des machines virtuelles, en exposant les extensions de virtualisation du processeur à l'invité.
cloud-init
cloud-init est le mécanisme standard pour configurer une machine virtuelle au premier démarrage, en utilisant des métadonnées fournies par la plateforme.