C'était vrai, mais ce n'est plus exclusivement vrai.
Ce à quoi ils font référence, c’est la co-ordonnancement strict .
Le plus important de tous, alors que dans l'algorithme de co-ordonnancement strict, l'existence d'un vCPU en retard provoque la co-arrêt de la machine virtuelle entière. Dans l'algorithme de co-ordonnancement assoupli, une vCPU leader décide si elle doit co-arrêter elle-même sur la base du biais par rapport à la vCPU la plus lente des deux frères.
À présent, si l'hôte ne comporte que 4 threads, il serait alors ridicule de les allouer tous. S'il dispose de deux processeurs et de 4 threads par processeur, vous pouvez ne pas vouloir allouer tout le contenu d'un seul processeur, car votre hyperviseur doit essayer de conserver les vCPU sur le même nœud NUMA pour faciliter l'accès à la mémoire. rendre ce travail plus difficile en allouant un socket entier à un seul ordinateur virtuel (voir page 12 de ce PDF ci-dessus).
Il existe donc des scénarios dans lesquels moins de vCPU peuvent fonctionner mieux que d'autres, mais ce n'est pas vrai 100% du temps.
Cela dit, j’alloue très rarement plus de 3 vCPU par invité. Tout le monde reçoit 2 par défaut, 3 s'il s'agit d'une charge de travail lourde et 4 pour des éléments tels que des serveurs SQL, des machines virtuelles de traitement par lots très lourdes ou un serveur de terminal avec de nombreux utilisateurs.
MAXDOP
paramètres appropriés . Cependant, en fonction de la charge de travail, un serveur SQL excessivement taxé est souvent le signe d'une conception de base de données incorrecte: index défectueux, aucun index clusterisé, trop d'index, aucune optimisation, etc. (pas toujours, mais souvent).Cela dépend en grande partie de l'hyperviseur sous-jacent et des administrateurs qui l'exécutent. Laissez-moi vous expliquer:
Que pouvez-vous apprendre de cela? Créez toujours des machines virtuelles avec un minimum de ressources et augmentez-les si nécessaire. Adaptez-vous toujours au lieu d'augmenter et vous pourrez exécuter votre application n'importe où.
En raison du verrouillage qui peut être expérimenté avec l'hyperviseur, il est en effet vrai que 2 CPU peuvent être plus rapides que 4 CPU.
la source
Oui, la déclaration a un sens en général. Cependant, vous devez toutefois tester votre configuration exacte et votre charge de travail. Parfois, il est préférable de disposer de plus de processeurs si vous pouvez en tirer parti. Toutefois, si vous ne disposez pas de beaucoup de parallélisme, une machine virtuelle configurée avec moins de processeurs fonctionnera souvent un peu mieux, car elle évite les ralentissements dus aux pauses de l'état de disponibilité du processeur.
J'ai réduit le nombre de vCPU sur un certain nombre de nos machines virtuelles et constaté une amélioration du débit de la majorité. Une poignée d’entre eux s’est aggravée et devait être augmentée sur le nombre de vCPU.
la source