2 votes

Configuration d'une allocation 1 pour 1 des processeurs virtuels

J'ai une question concernant une recommandation pour configurer vCPU sur un serveur virtuel hyper-v. La documentation de l'application indique "Pour de meilleures performances, configurez une allocation 1 pour 1 des processeurs virtuels aux processeurs logiques disponibles de l'hôte Hyper-V." mais je trouve cela un peu confus.

J'ai deux types de serveurs hôtes hyper-V dans des clusters différents.

Un hôte hyper-v avec 4 sockets, 40 cœurs, 80 processeurs logiques, 64 processeurs logiques d'hôte, et Un hôte hyper-v avec 4 sockets, 60 cœurs, 120 processeurs logiques, 64 processeurs logiques d'hôte.

Je souhaite obtenir des éclaircissements sur la signification exacte de l'allocation 1 pour 1 des processeurs virtuels aux processeurs logiques disponibles de l'hôte Hyper-V dans ce scénario.

1 votes

Pourriez-vous indiquer le lien de la documentation que vous citez ?

0 votes

C'était un PDF qui m'a été envoyé. J'ai copié et collé ce paragraphe particulier entièrement ci-dessous comme FYI : Pour éviter une faible performance du CPU, voir les directives suivantes : - Reportez-vous au dimensionnement du client pour connaître la quantité réelle de CPU virtuel (vCPU) nécessaire. - Assurez-vous que Virtual NUMA (vNUMA) est activé sur l'hôte Hyper-V. Voir l'article 614459 de la base de connaissances de Microsoft. - Pour des performances optimales, configurez une allocation 1 pour 1 des processeurs virtuels aux processeurs logiques disponibles de l'hôte Hyper-V. - Dans tous les cas, un minimum de deux vCPU est requis. - Définissez la réservation à 100% pour la configuration des CPU.

0voto

Rob Howard Points 636

Je ne suis pas sûr du document auquel vous faites référence, mais c'est logique. Pour obtenir les meilleures performances, il ne faut pas "surengager" les ressources du processeur. Il est vrai que le fait de pouvoir surcommander les cœurs du processeur est probablement la raison pour laquelle nous virtualisons, si vous aviez un ratio de 1-1, vous obtiendriez les meilleures performances. Donc, selon cette règle empirique, si j'avais un système à un seul cœur hexagonal (12 procs logiques, si l'hyperthreading est activé). Je pourrais mettre 12 vcpu vms simples, 6, 2 vcpu vms, etc) en gardant ce ratio 1-1.

La vraie question est de savoir si votre application sera probablement très bien dans un rapport vcpu/logique plus typique ou si elle a vraiment besoin d'être 1-1. Vous devez prendre cette décision en fonction de ce que fait votre application.

0 votes

L'hyperthreading ne vous donne pas vraiment le double de cœurs. Les charges de travail sensibles à la latence et liées au CPU bénéficient de la limitation de la vCPU au nombre de cœurs. Oui, cela coûte cher. Cependant, si vos machines virtuelles sont le plus souvent inactives, essayez de les surcommettre.

0 votes

Oui, l'exemple montrait ce que vous observeriez comme le nombre de cœurs logiques.

0voto

Ashiq Irphan Points 133

Dans Hyper-V, il n'y a pas d'allocation de processeur. Vous ne pouvez pas allouer un processeur virtuel (VP) à un processeur logique (LP).

Au moins depuis Hyper-V 2012 (je pense même 2008 R2) Microsoft ne donne aucune suggestion sur le ratio VP par LP ( source pour 2016 )

Mais il est également vrai qu'un seul VP s'exécute toujours sur un seul LP. Même si vous surcommissionnez l'hôte, ce qui est tout à fait possible, Hyper-V gère les ressources en vérifiant que les VP entrent et sortent des LP. Ainsi, la surcommission n'est généralement pas une mauvaise chose. Par exemple, Hyper-V 2016 permet à une seule VM de disposer de 240 processeurs virtuels ! Un hôte unique supporte 2048 processeurs virtuels !

La seule chose à garder à l'esprit est que vous ne devez pas surcommencer les VP sur un hôte Hyper-V si vous avez moins de machines virtuelles sur celui-ci que de processeurs logiques. En effet, l'échange de processeurs se produit alors, ce qui pourrait affecter les performances (peut-être pas de façon notable, mais c'est le cas).

Si vous n'êtes pas sûr du nombre de VP que vous attribuez à une machine virtuelle, commencez par un nombre qui vous convient et surveillez la charge CPU sur une période donnée. Ajustez ensuite les VP en conséquence.

0 votes

Je suis d'accord, mais cette question concerne la recommandation de l'application, pas la recommandation ou les paramètres d'hyper-v.

0 votes

La recommandation de l'application n'a aucun sens. For best performance, configure a 1-to-1 allocation of virtual processors to available Hyper-V Host logical processors Et alors ? Dois-je vraiment ajouter autant de VP que de LP ? Parce que dans ce cas, je supprime l'hyperviseur et j'exécute l'application à nu. Et l'allocation n'est tout simplement pas possible. Il est dans la nature d'Hyper-V qu'un VP s'exécute sur un LP, mais pas parce que l'administrateur prend cette décision, mais parce qu'Hyper-V est construit de cette façon (si vous ne surcommissionnez pas, bien sûr).

0 votes

J'ai eu affaire à des applications de ce genre dans le passé. Certaines d'entre elles disent cela parce qu'elles consomment vraiment beaucoup de CPU et ne devraient probablement pas être virtualisées, mais si vous le faites, vous ne pouvez tout simplement pas attribuer plus de vcpus que vous n'en avez.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X