...
Si je regarde les stats VMware, je me dis que 95% de charge CPU sur 5 minutes c'est énorme et qu'il me faut plus de vCPU.
Non pas plus de vCPU. 1 vCPU != 1 pCPU. Il n'y a aucun lien entre les deux. C'est VMware qui a (probablement) décidé de mettre toute la charge des vCPU sur un seul pCPU. Si 1x pCPU est proche de 100% c'est soit qu'il est correctement utilisé soit que tu as un seul thread dans une VM qui consomme tout. Augmenter le nombre de vCPU ne changera rien.
Tu me dis qu'un seul vCPU pourrait suffire, j'ai encore plus de mal à comprendre.
Si j'avais un seul vCPU et qu'il y a 4x vCPU pour un pCPU, VMware me bloquerait à 25% de charge CPU ?
L'ESX ne bloque rien, il perd juste du temps à gérer les 3 vCPU qui "ne font rien". Plus il y a d'idle, plus ça pose de problème à l'hyperviseur.
Si j'avais 8 vCPU et qu'il y a 4x vCPU pour un pCPU, VMware me permettrait d'aller à 200% de charge CPU ?
A combien seraient utilisé les vCPU ? Si 1x vCPU à 100%, pCPU = 100%. Si 2x vCPU à 100%, pCPU = 100%, etc -> les perfs se dégradent du point de vue de la VM. 4x vCPU pour 1 pCPU est une recommandation max. Si ta VM va utiliser tous ses vCPU (calcul intensif multithread), alors la règle de dimensionnement sera 1x vCPU = 1 pCPU (ce qui pose la question de l'intérêt de virtualiser).
ou la courbe usage de VMware est une moyenne de mes différents vCPU (avec une échelle de 0 à 100% quel que soit le nb de vCPU)
Ca dépend où on regarde. Sur l'interface web embarquée d'ESXi 6 (optionnel mais je recommande son installation), sur l'hôte, 100%=somme de tous les pCPU. D'ailleurs la charge par pCPU est clairement indiquée. Par VM, on voit uniquement le % de pCPU utilisé, quelque soit le nombre de vCPU. Dans l'interface client vSphere, on voit les vCPU en MHz et l'utilisation totale en % avec 100% en max.
Autre curiosité : si 1x vCPU = 100%, on peut voir 2x pCPU à 50% chacun si pas d'autre activité sur l'ESX. Je pense que c'est plus un problème d'affichage d'échelle (différence entre l'intervalle d'échantillonnage et la réalité).
Qu'est-ce qu'il se passe si on ne respecte pas les règles ? J'ai eu un client qui avait affecté une 100aine de vCPU par hotes, chacun équipé de 12 coeurs. Les VM étaient sur-dimensionnées avec 4 à 8 vCPU chacune. Le client se plaignait de lenteurs et d'instabilité alors que la charge affichée par VM était ridicule. On lui a tout fait re-dimensionner jusqu'à arriver au ratio max de 4 vCPU / coeur. Tous les problèmes ont disparu.
Par contre, attention à la RAM: un ESX n'aime pas du tout la pénurie !