La fonctionnalité Latency Sensitivity dans VMware vSphere permet d’optimiser les performances des machines virtuelles critiques nécessitant une latence minimale. Dans certains workloads sensibles comme les plateformes VoIP, les bases de données transactionnelles ou les systèmes de trading, même quelques microsecondes de délai peuvent avoir un impact significatif sur les performances.

Dans cet article, nous allons voir comment activer Latency Sensitivity, comprendre son fonctionnement interne et identifier les bonnes pratiques pour obtenir des performances proches du bare-metal.

Pourquoi utiliser Latency Sensitivity sur VMware ?

Dans un environnement virtualisé standard, VMware ESXi optimise :

  • Le partage CPU
  • La consommation énergétique
  • L’ordonnancement des tâches

Ces mécanismes permettent une excellente consolidation, mais peuvent introduire :

  • Micro-latences
  • Jitter réseau
  • CPU Ready Time

Pour certaines charges critiques, cela peut devenir problématique.

Exemples typiques :

  • VoIP infrastructure.
  • Systèmes de trading.
  • Bases de données transactionnelles.
  • Appliances réseau.
  • Workloads temps réel.

Dans ces cas, Latency Sensitivity permet d’obtenir des performances proches d’un serveur physique.

Ce que fait réellement Latency Sensitivity

Lorsque Latency Sensitivity = High, VMware ESXi modifie profondément la gestion des ressources.

Accès exclusif aux cœurs physiques

Chaque vCPU reçoit un cœur physique dédié (pCPU).

Cela signifie :

  • Aucun partage CPU.
  • Aucun scheduling concurrent.
  • Aucun thread VMkernel concurrent.

Résultat :

  • CPU Ready ≈ 0
  • Jitter réduit
  • Latence minimale
Latency Sensitivity
Latency Sensitivity

Bypass du scheduler VMkernel

Une fois l’accès exclusif obtenu, ESXi permet aux vCPU de contourner le scheduler CPU.

Le vCPU peut alors :

  • S’arrêter directement dans le Virtual Machine Monitor (VMM).
  • Eviter les transitions VMkernel ↔ VMM.

Cela réduit :

  • Le coût de scheduling.
  • Les délais de réveil CPU.
  • Le context switching.

Résultat : des wake-up CPU beaucoup plus rapides.

Optimisation automatique des interfaces réseau

Lorsque la VM utilise : VMXNET3

VMware désactive automatiquement :

  • Interrupt Coalescing
  • Large Receive Offload (LRO)

Objectif : réduire la latence réseau et le jitter.

Pour plus d’informations, consultez : la documentation officielle VMware

Modes Latency Sensitivity disponibles dans vSphere

Depuis vSphere 8, trois modes sont disponibles.

Mode Normal

C’est le mode par défaut.

Le scheduler :

  • Déplace les vCPU entre pCPU
  • Optimise la charge système

Utilisation : workloads standards

Mode High

Dans ce mode : Chaque vCPU reçoit un cœur physique dédié

Exigences :

  • Réservation CPU complète
  • Réservation mémoire complète

Utilisation : workloads ultra-low latency

Mode High with Hyperthreading (vHT)

Introduit avec vSphere 8.

Chaque vCPU reçoit un hyperthread dédié, au lieu d’un cœur complet.

Cette fonctionnalité s’appuie sur Virtual Hyperthreading (vHT).

Chaque vCPU devient un hyperthread virtuel exposé au système invité.

Avantages :

  • Meilleure densité.
  • Faible latence.
  • Utilisation optimisée des ressources.

Impact sur la performance CPU Ready

Un des principaux indicateurs de performance avec Latency Sensitivity est :

👉 CPU Ready (%RDY)

Dans un environnement classique :

%RDY = 5–10% possible

Avec Latency Sensitivity correctement configuré :

%RDY ≈ 0%

Cela signifie que la VM n’attend plus l’accès CPU.

Dans le prochain article, nous verrons comment configurer Latency Sensitivity pas à pas dans VMware vSphere, avec validation des performances et bonnes pratiques avancées.

Badr Eddine CHAFIQ