web-dev-qa-db-fra.com

Comment décrire les exigences de performance VMware pour notre application à un administrateur VMware?

Souvent, une installation basée sur notre site sur site, debian-stable circule dans une machine virtuelle - typiquement dans VMware ESXI. Dans le cas général, nous n'avons pas de visibilité ou d'influence sur leur environnement de virtualisation et n'ont pas accès à par exemple. le client VMware vCenter ou l'équivalent. Je me concentre sur VMware ici, car cela est de loin le plus courant que nous voyons.

Nous aimerions:

  • Indiquez à un client VMware Admin: vous pouvez exécuter notre application par ex. Votre environnement VMware ESX, tant qu'il répond aux critères de performance X, Y et Z.
  • Être capable de déterminer si les critères x, y et z sont en fait remplis de manière continue (par exemple, maintenant), même sur un système d'exécution (nous ne pouvons pas arrêter notre application et exécuter des points de repère et une initiale La référence ne suffira pas, car la performance dans les environnements virtuels change au fil du temps).
  • Avoir la confiance que si les critères X, Y et Z sont remplis, nous aurons des ressources de HW virtuelles adéquates pour exécuter notre application avec des performances satisfaisantes.

Maintenant que sont x, y et z?

Nous avons vu du temps et de nouveau que, lorsqu'il y a des problèmes de performance, le problème n'est pas avec notre application, mais avec l'environnement de virtualisation. Par exemple. Une autre machine virtuelle utilise des tonnes de processeur, de mémoire ou de SAN sur lesquelles les disques sont réellement stockés obtiennent une utilisation intensive par autre chose que notre application. Nous n'avons actuellement aucun moyen de prouver ou de réfuter cela.

Théoriquement, il pourrait également être possible que parfois notre application soit lente ... ;-)

Comment déterminer la cause première de nos problèmes de performance: environnement virtuel ou notre application?

Il existe généralement 3 zones pour les problèmes de performance, la mémoire et l'E/S du disque.

CPU

Par ex. VMware L'administrateur peut spécifier la réservation et la limite, exprimée en MHz, mais par exemple. 512 MHz sur un hôte ESX exactement identique à 512 MHz sur un autre hôte ESX, éventuellement dans un cluster ESX complètement différent?

Et comment il mesure une mesure si nous obtenons réellement cela? Bien que notre application soit en cours d'exécution, nous pouvons peut-être voir que nous sommes à 212% d'utilisation du processeur sur 4 processeurs. Est-ce parce que notre application fait beaucoup ou parce qu'un autre VM sur le même hôte consiste à exécuter une tâche intensive de la CPU et en utilisant tout le processeur?

Mémoire (montgolfe?)

Si nous demandons par ex. 16 Go de RAM, qui est souvent configuré, mais à cause de - Ballooning , nous obtenons seulement 4 Go et surprise, notre application fonctionne mal.

On peut demander aux outils VMware sur la montgoling actuelle, mais nous constatons que cela réside souvent (ou est inexact au moins). Nous avons vu des exemples où l'OS pense qu'il existe 16 Go de RAM totale, la somme de la mémoire réelle (RSS) de tous les processus est de 4 Go de RAM, mais il n'y a que 2 Go RAM GRATUIT, même lorsque VMware Tools indique nous il y a 0 ballon :-(

En outre, il suffit d'ajouter RSS ensemble n'est pas valide, car il pouvait facilement être partagé RAM, par exemple. La mémoire de copie-écriture, de sorte que 512 Mo + 512 Mo ne signifie pas nécessairement 1 Go, mais cela pourrait signifier quelque chose de moins. Donc, on ne peut pas simplement soustraire le RSS de tous les processus pour obtenir une mesure pour combien RAM devrait être libre et détecter ainsi de manière fiable de manière fiable. On peut détecter certains cas de ballon, mais il y a d'autres cas où la montgolfière est en vigueur, mais pas détectable par cette méthode.

I/S du disque

Je suppose que nous pourrions créer un graphique au fil du temps, le nombre de disques lit et écrit, le nombre d'octets lus et écrit, et le%IO. Mais cela nous donnera-t-il une image précise du disque I/O? J'imagine que s'il y a un mineur Bitcoin en cours d'exécution dans un autre VM à l'aide de tout le processeur, notre IO wait% devrait augmenter, même si le sous-jacent SAN donne Exactement les mêmes performances, simplement parce que nos ressources de la CPU descendent, et donc IO _ wait ( qui est mesurée en%) monte.

Donc, en résumé, quelle langue pouvons-nous utiliser pour décrire par ex. Un administrateur VMware, quelle performance nous avons besoin de manière portable et mesurable?

23
Peter V. Mørch
  • Sérieusement, la plupart des administrateurs VMware ne sont pas bons à cet égard: Une mauvaise compréhension de la gestion des ressources, souvent sans connaissances Linux (cela aide) et manque de bande passante. Je trouve que la plupart des administrateurs internes ont une période difficile à maintenir une connaissance de virtualisation profonde.

  • Heureusement, Il y a un livre que vous pouvez lire !

  • la plupart des environnements VMware ne sont pas géniaux: Mauvaise conception de grappes, Planification de la mauvaise ressource , stockage de normes de substances (n ° Synology), mal configuré, ha, aucune surveillance ou patching .

  • VMware comme une organisation échoue: Ils sont particulièrement mauvais pour diffuser des informations à jour et promouvoir les meilleures pratiques. Les recherches de base des questions communes génèrent des résultats de 2009 et des révisions plus anciennes de VMware, malgré le fait que les processus et les conceptions ont changé au fil du temps.

Toutes ces choses vont travailler contre vous.

Vous devez déterminer les exigences réelles de votre solution. Être capable d'indiquer avec précision que votre appareil nécessite: 2 VCPU, 8GB RAM et 500 IOPS Performances de stockage irait un long chemin à quelqu'un comme moi.

L'autre approche consiste à observer un environnement sain ou idéal et extrapoler les métriques à partir de là.

Vous avez décrit des problèmes de certains déploiements. Quels étaient les problèmes et les goulots d'étranglement?


Un exemple de VM de la taille de droite:

Un serveur Exchange pour une organisation de 300 utilisateurs.

  • Nous avons 6 semaines de charge de travail/hearmaps de stress par rapport au temps.
  • 6 VCPus nous garde au-dessus de la zone de stress avec une salle tampon pour les pointes.
  • 32GB RAM nous garde au-dessus de la valeur de stress, mais n'est pas un montant déraisonnable ci-dessus ce qui est vraiment nécessaire.

enter image description here

  • Je pourrais récupérer quelques Go de RAM et un VCPU, mais tout compris, il s'agit d'une machine virtuelle efficace.
  • Il serait sage d'obtenir ce type de surveillance de votre application dans des conditions idéales.

enter image description here


Exemples de VM Surveillance des ressources.

Good-ISH: - VM est de la taille droite. - La CPU est surcommandée sur le cluster, mais nous ne rencontrons pas de conflit.

enter image description here

Bad-ish:

  • VM n'obtiendra jamais tout le RAM= C'est configuré avec.
  • VM utilise déjà la RAM.
  • La CPU est trop configurée.

enter image description here

23
ewwhite