Lorsque vous utilisez le HPP pour vos périphériques de stockage, définissez le seuil sensible de latence du périphérique afin que les E/S puissent contourner le planificateur d'E/S.

Par défaut, ESXi transmet chaque E/S via le planificateur d'E/S. Cependant, l'utilisation du planificateur peut créer des files d'attente internes, ce qui n'est pas efficace avec les périphériques de stockage à haute vitesse.

Vous pouvez configurer le seuil sensible de latence et activer le mécanisme d'envoi direct qui permet à l'E/S de contourner le planificateur. Lorsque ce mécanisme est activé, l'E/S est transmise directement du PSA au pilote de périphérique via le HPP.

Pour que l'envoi direct fonctionne correctement, la latence d'E/S moyenne observée doit être inférieure au seuil de latence que vous spécifiez. Si la latence d'E/S dépasse le seuil de latence spécifié, le système arrête l'envoi direct et réutilise temporairement le planificateur d'E/S. L'envoi direct reprend lorsque la latence d'E/S moyenne descend à nouveau au-dessous du seuil de latence.

Vous pouvez définir le seuil de latence pour une famille de périphériques réclamés par HPP. Définissez le seuil de latence à l'aide de la paire fournisseur et modèle, du modèle de contrôleur ou de la paire ID de fournisseur PCIe et ID de sous-fournisseur.

Procédure

  1. Pour définir le seuil sensible de latence pour le périphérique, exécutez la commande suivante :
    esxcli storage core device latencythreshold set -t valeur en millisecondes

    Sélectionnez l'une des options suivantes.

    Option Exemple
    Fournisseur/modèle Définissez le paramètre de seuil sensible à la latence pour tous les périphériques avec le fournisseur et le modèle indiqués : esxcli storage core device latencythreshold set -v 'vendor1' -m 'model1' -t 10
    Modèle de contrôleur NVMe Définissez le seuil sensible à la latence pour tous les périphériques NVMe avec le modèle de contrôleur indiqué : esxcli storage core device latencythreshold set -c 'controller_model1' -t 10
    ID de fournisseur/sous-fournisseur PCIe Définissez le seuil sensible à la latence pour les périphériques avec 0x8086 comme ID de fournisseur PCIe et 0x8086 comme ID de sous-fournisseur PCIe. esxcli storage core device latencythreshold set -p '8086' -s '8086' -t 10
  2. Vérifiez que le seuil de latence est défini :
    esxcli storage core device latencythreshold list
    Device                Latency Sensitive Threshold
    --------------------  ---------------------------
    naa.55cd2e404c1728aa               0 milliseconds
    naa.500056b34036cdfd               0 milliseconds
    naa.55cd2e404c172bd6              50 milliseconds
    
  3. Surveillez l'état du seuil sensible de latence. Vérifiez les entrées suivantes dans les journaux de VMkernel :
    • Latency Sensitive Gatekeeper turned on for device device. Threshold of XX msec is larger than max completion time of YYY msec
    • Latency Sensitive Gatekeeper turned off for device device. Threshold of XX msec is exceeded by command completed in YYY msec