web-dev-qa-db-fra.com

Pourquoi VM affectent les performances?

J'ai lu dans l'un des articles VMware KB que les instantanés affecteront directement VM performance.

Mais mon équipe continue de me demander comment les instantanés peuvent affecter les performances.

Je voudrais leur donner une raison solide derrière la déclaration que les instantanés sont des tueurs de performances.

Quelqu'un peut-il expliquer un peu la théorie sur la façon dont les instantanés affectent réellement les performances? Est-ce simplement parce que le taux d'E/S disque du disque dur serait lent?

27
Samselvaprabu

Lorsque vous créez un instantané, l'image de disque d'origine est "figée" dans un état cohérent et tous les accès en écriture à partir de là iront à une nouvelle image différentielle. Pire encore, comme expliqué ici et ici , l'image différentielle a la forme d'un journal des modifications, qui enregistre chaque modification apportée à un fichier depuis la prise de l'instantané. Cela signifie que les accès en lecture devraient lire non seulement un fichier, mais également toutes les données de différence (les données d'origine plus chaque modification apportée aux données d'origine). Le nombre augmente encore plus lorsque vous installez des instantanés en cascade.

28
Ansgar Wiechers

Lorsque vous créez un instantané sur un VM cela crée un disque Delta et le système d'exploitation écrit dans ce fichier au lieu du VMDK d'origine. Ce fichier s'appelle VM_Name-Delta.VMDK mais si le système a besoin fait référence à un fichier avant l'instantané, il fera référence à VM_Name.VMDK augmentant les E/S de cette opération. Si vous prenez plusieurs instantanés, vous faites référence au dernier fichier delta du dernier instantané et non au VMDK d'origine augmentant ainsi les E/S .

Exemple.

Système d'exploitation ---> Instantané (fichier A créé) ---> (Fichier instantané B créé)

Si je dois me référer au fichier A, il cherchera à travers 3 VMDK pour le trouver.

De plus, si vous incluez l'état de la mémoire du VM au moment de la capture instantanée, cela crée à nouveau un fichier delta et fait référence aux fichiers de mémoire d'origine si nécessaire.

Un fichier est créé qui répertorie tous les fichiers créés au moment du processus d'instantané

5
Zapto

Pour autant que je sache, VMWare utilise une logique de copie sur écriture pour implémenter leurs instantanés. Par conséquent, lorsque vous en créez un, chaque opération effectuée sur votre VM (par exemple, presque tout ce qui est en cours d'exécution) entraînerait une petite copie de VM à copier) jusqu'à ce que le tout soit essentiellement cloné.

Un autre problème de performances avec cela est que les lectures devraient se répercuter sur la copie d'origine si la copie de travail n'a pas encore de données (car rien n'a changé pour provoquer une copie).

Si vous souhaitez avoir les instantanés en tant que sauvegarde mais ne pouvez pas tolérer une légère baisse des performances, envisagez de cloner le VM à la place.

2
Falcon Momot