Lorsqu'une machine virtuelle Windows dans vSphere 5.1 et versions ultérieures transmet de grands paquets UDP, le débit est inférieur à celui attendu ou oscille même en l'absence d'un trafic significatif.

Problème

Lorsqu'une machine virtuelle Windows transmet des paquets UDP d'une taille supérieure à 1 024 octets, vous obtenez un débit plus faible que prévu ou oscillant même en l'absence d'un trafic significatif. Dans le cas d'un serveur de flux vidéo, la lecture vidéo marque des pauses.

Cause

Pour chaque paquet UDP d'une taille supérieure à 1 024 octets, la pile réseau de Windows attend une interruption de fin de transmission avant d'envoyer le paquet suivant. Contrairement aux versions précédentes, vSphere 5.1 et versions ultérieures ne fournit pas de solution transparente pour ce problème.

Solution

  • Augmentez le seuil en octets auquel Windows change son comportement pour les paquets UDP en modifiant le Registre du système d'exploitation Windows invité.
    1. Localisez la clé de Registre HKLM\System\CurrentControlSet\Services\Afd\Parameters.
    2. Ajoutez une valeur sous le nom FastSendDatagramThreshold de type DWORD égale à 1500.
    Pour obtenir des informations sur la résolution de ce problème dans le Registre Windows, reportez-vous à l'article http://support.microsoft.com/kb/235257.
  • Modifiez les paramètres de fusion de la carte réseau de machine virtuelle.
    Si la machine virtuelle Windows dispose d'un adaptateur vNIC VMXNET3, configurez l'un des paramètres suivants du fichier .vmx de la machine virtuelle. Utilisez vSphere Web Client ou modifiez directement le fichier .vmx.
    Action Paramètre Valeur
    Augmentez le taux d'interruptions de la machine virtuelle à une valeur supérieure au taux de paquets attendu. Par exemple, si le taux de paquets attendu est de 15 000 interruptions par seconde, réglez le taux d'interruptions à 16 000 interruptions par seconde. Définissez le paramètre ethernetX.coalescingScheme sur rbc et le paramètre ethernetX.coalescingParams sur 16000. Le taux d'interruptions par défaut est de 4 000 interruptions par seconde.

    ethernetX.coalescingScheme

    ethernetX.coalescingParams

    rbc

    16000

    Désactivez la fusion pour obtenir un faible débit ou des charges de travail sensibles à la latence. Pour plus d'informations sur la configuration des charges de travail à faible latence, reportez-vous à Meilleures pratiques pour le réglage des performances des charges de travail sensibles à la latence sur les machines virtuelles vSphere. ethernetX.coalescingScheme désactivé

    Rétablissez l'algorithme de fusion des versions antérieures d'ESXi.

    Note : La possibilité de rétablir un algorithme antérieur ne sera pas disponible dans les versions ultérieures de vSphere.
    ethernetX.coalescingScheme étalonner

    X près d'ethernet représente le numéro de séquence de la vNIC dans la machine virtuelle.

    Pour obtenir des informations sur la configuration des paramètres dans le fichier .vmx, reportez-vous à la documentation Administration d'une machine virtuelle vSphere.

  • Modifiez les paramètres de fusion d'hôte d'ESXi.
    Cette approche affecte toutes les machines virtuelles et toutes les cartes réseau de machine virtuelle sur l'hôte.

    Vous pouvez modifier la liste des paramètres système avancés pour l'hôte dans vSphere Web Client ou en utilisant une commande de console vCLI sur l'hôte à partir d'ESXi Shell.

    Action Paramètre dans vSphere Web Client Paramètre pour la commande esxcli system settings sdvanced set Valeur
    Définissez un taux d'interruptions supérieur au taux de paquets attendu. Par exemple, définissez-le sur 16 000 si vous attendez 15 000 interruptions par seconde.

    Net.CoalesceScheme

    Net.CoalesceParams

    /Net/CoalesceScheme

    /Net/CoalesceParams

    rbc

    16000

    Désactivez la fusion pour un faible débit ou pour les charges de travail sensibles à la latence. Pour plus d'informations sur la configuration des charges de travail à faible latence, reportez-vous à Meilleures pratiques pour l'ajustement des performances des charges de travail sensibles à la latence sur les machines virtuelles vSphere. Net.CoalesceDefaultOn /Net/CoalesceDefaultOn 0

    Rétablissez le schéma de fusion de versions antérieures d'ESXi.

    Note : La possibilité de rétablir un algorithme antérieur ne sera pas disponible dans les versions ultérieures de vSphere.
    Net.CoalesceScheme /Net/CoalesceScheme étalonner

    Pour obtenir des informations sur la configuration d'un hôte dans vSphere Web Client, reportez-vous à la documentation Gestion de vCenter Server et des hôtes. Pour obtenir des informations sur la définition des propriétés d'hôte à l'aide d'une commande vCLI, reportez-vous à la documentation Référence de vSphere Command-Line Interface.