61 votes

La machine virtuelle est-elle plus lente que la machine physique sous-jacente ?

Cette question est assez générale, mais plus spécifiquement, j'aimerais savoir si une machine virtuelle exécutant Ubuntu Enterprise Cloud sera plus lente que la même machine physique sans aucune virtualisation. Dans quelle mesure (1%, 5%, 10%) ?

Quelqu'un a-t-il mesuré la différence de performance d'un serveur web ou d'un serveur de données (virtuel VS physique) ?

Si cela dépend de la configuration, imaginons deux processeurs quad core, 12 Go de mémoire et un tas de disques SSD, exécutant un serveur d'entreprise ubuntu 64 bits. En plus de cela, une seule machine virtuelle est autorisée à utiliser toutes les ressources disponibles.

1voto

Mike42 Points 849

Vous essayez de comparer un système d'exploitation, un logiciel et des données installés sur un certain matériel physique à ce même système d'exploitation, ce même logiciel et ces mêmes données installés par eux-mêmes à l'intérieur d'un hyperviseur sur le même matériel d'origine. Cette comparaison n'est tout simplement pas valable, car presque personne ne fait cela (du moins au début). Bien sûr, cela serait probablement plus lent. Heureusement, cette comparaison passe complètement à côté de la raison la plus courante pour laquelle vous virtualisez des serveurs.

Un meilleur exemple ici est d'examiner deux (ou plus !) vieux serveurs dans votre centre de données. Recherchez les serveurs qui fonctionnent raisonnablement bien, mais qui sont vieux maintenant et qui arrivent dans leur cycle de rafraîchissement. Ces serveurs sont déjà performants sur du matériel plus ancien et, grâce à la loi de Moore, tout nouveau serveur sera sur-spécifié.

Alors, que faites-vous ? C'est très simple. Plutôt que d'acheter deux nouveaux serveurs, vous n'en achetez qu'un seul, puis vous faites migrer vos deux anciens serveurs vers le même nouveau dispositif physique. Lorsque vous vous préparez à acheter votre nouveau serveur, planifiez de manière à disposer d'une capacité suffisante pour gérer non seulement la charge des deux anciens serveurs, mais aussi celle de l'hyperviseur (et peut-être un peu plus, afin d'obtenir une augmentation des performances et de permettre une croissance).

En résumé, les machines virtuelles offrent des performances "suffisantes" dans la plupart des situations et vous aident à mieux utiliser vos serveurs pour éviter le "gaspillage" de puissance informatique.

Maintenant, allons un peu plus loin. Comme il s'agit de vieux serveurs, vous avez peut-être envisagé de les remplacer par quelques serveurs simples à 1 500 $. Il y a de fortes chances que l'une de ces boîtes à pizza puisse encore facilement gérer la charge des deux hypothétiques vieilles machines... mais disons que vous décidez de dépenser 7 500 $ ou plus pour du vrai matériel à la place. Vous avez maintenant un dispositif qui peut facilement gérer une douzaine de vos serveurs existants (en fonction de la façon dont vous gérez le stockage et la mise en réseau), avec un coût initial de seulement 5 $. Vous avez également les avantages de ne gérer qu'un seul serveur physique, de découpler votre logiciel de votre matériel (c'est-à-dire que le rafraîchissement du matériel est maintenant moins susceptible de nécessiter une nouvelle licence Windows ou de causer des temps d'arrêt), vous économisez une tonne d'énergie, et votre hyperviseur peut vous donner de meilleures informations sur les performances que vous avez eu dans le passé. Achetez-en deux et, en fonction de votre taille, vous pourrez peut-être réduire l'ensemble de votre centre de données à deux machines, ou utiliser le deuxième serveur comme serveur de secours afin de présenter une meilleure image de haute disponibilité.

Ce que je veux dire, c'est que il ne s'agit pas seulement de performance. Je ne prendrais jamais un serveur de production en parfait état et je le virtualiserais seul sur un matériel équivalent, juste parce que Il s'agit davantage d'une question de réduction des coûts et des autres avantages que vous pouvez tirer de la consolidation, comme la haute disponibilité. Pour bénéficier de ces avantages, vous devez déplacer les serveurs vers un matériel différent, ce qui signifie que vous devez prendre le temps de dimensionner ce matériel de manière appropriée, notamment en tenant compte de la pénalité de l'hyperviseur. Oui, il se peut que vous ayez besoin d'une puissance de calcul légèrement supérieure au total que si chacune de ces machines se trouvait sur son propre dispositif physique (indice : vous avez en fait probablement besoin de une puissance de calcul totale bien moindre ), mais ça va être un beaucoup moins cher, plus économe en énergie et plus facile à entretenir. de faire fonctionner un serveur physique que d'en faire fonctionner plusieurs.

0voto

Je viens de passer à un SSD (OCZ Vertex 2) et j'y fais tourner mon environnement de développement XP VM, je suis développeur de logiciels. J'ai remarqué que lorsque je lance un programme (un programme suffisamment important pour prendre du temps à charger), un cœur du processeur virtuel s'arrête. Cela se produit également lors du chargement d'IE. Puisque le CPU se bloque, je suppose que le goulot d'étranglement est le CPU et non le SSD. Mais cela semble étrange, j'ai le sentiment que si la même chose était faite sur une machine physique, le chargement serait plus rapide et mon sentiment est qu'il y a un traitement supplémentaire que VMWare effectue et qui consomme du CPU lors de l'accès au disque.

Par exemple, j'utilise Delphi et sur une machine physique avec un disque dur normal, le démarrage à froid peut prendre 20 secondes. Dans la machine virtuelle fonctionnant avec un disque dur SSD, il se charge en 19 secondes à partir d'un démarrage à froid. Pas une grande différence, je parie que si le SSD était sur la machine physique, le chargement serait plus rapide. Cependant, je n'ai pas vérifié l'utilisation du CPU sur la machine physique, il est possible que le CPU soit le goulot d'étranglement là aussi.

Mais le sentiment de la VM est que l'accès au disque taxe la VM.

0voto

Sam Points 37

Il est évident qu'une machine virtuelle est plus lente que la machine physique. Mais lorsque vous êtes dans ce scénario, vous devez évaluer ce qui est optimal pour couvrir vos besoins. Si vous n'avez besoin que d'un seul système et qu'il doit être rapide, alors installez-le directement sur le matériel. D'un autre côté, si vous avez besoin de flexibilité, d'évolutivité (et de tous les autres avantages de la virtualisation :P), déployez une VM. Ce sera plus lent, mais, à mon avis, dans certains cas, c'est justifié et les performances ne sont pas significativement faibles.

0voto

Web Dev Points 1

Il semble que Microsoft ait effectué des tests de référence en utilisant BizTalk Server et SQL Server dans différentes configurations à cet égard. Voir le lien ci-dessous :

http://msdn.microsoft.com/en-us/library/cc768537(v=BTS.10).aspx

-1voto

Prisma Points 21

Idéalement, les performances de Virtual PC sont à :

CPU : 96-97% de l'hôte

Réseau : 70-90% de l'hôte

Disque : 40-70% de l'hôte

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