Je dois mesurer la bande passante réseau entre des instances Windows Amazon EC2. Quelle est la marche à suivre ?

Plusieurs facteurs peuvent affecter les performances réseau Amazon EC2, notamment :

  • Proximité physique des instances EC2, répertoriées dans l'ordre décroissant :
    • Instances de la même zone de disponibilité
    • Instances d'une autre zone de disponibilité de la même région
    • Instances de différentes régions du même continent
    • Instances de différentes régions de différents continents
  • Unité de transmission maximale (MTU) des instances EC2. La configuration d'interface par défaut des instances EC2 utilise des trames jumbo (MTU de 9001), ce qui permet un débit supérieur dans un Cloud privé virtuel (VPC) unique. Cependant, à l'extérieur d'un VPC unique, la MTU maximale est de 1500, ce qui exige que les gros paquets soient fragmentés par des systèmes intermédiaires. Par conséquent, la valeur MTU par défaut de 9001 peut être inefficace et coûter davantage en surcharge de traitement qu'elle n'offre de gains en débit réseau, en particulier lorsque la majeure partie du trafic réseau implique un accès via Internet. Les types d'instances pouvant être configurés pour utiliser les trames jumbo sont CC2, C3, R3, CG1, CR1, G2, HS1, I2, T2 et M3. Pour plus d'informations, consultez Types d'instance.
  • Taille d'instance EC2. Les grandes tailles d'instance définies pour un type d'instance offrent généralement de meilleures performances réseau que les tailles d'instance plus petites pour le même type d'instance.
  • Prise en charge de la mise en réseau améliorée EC2 pour Windows, à l'exception des types d'instance T2 et M3.
  • Prise en charge du Calcul Haute Performance (HPC) EC2 en utilisant des groupes de placement. HPC offre une bande passante entièrement bisectionnelle et une faible latence, permettant ainsi la prise en charge de vitesses réseau de 10 gigabits. Pour plus d'informations, consultez Lancement d'instances dans un groupe de placement. Consultez la Matrice des types d'instance pour voir les performances réseau de chaque type d'instance.

En raison de ces facteurs, il y a souvent une différence de performances réseau importante entre les environnements de Cloud. Les bonnes pratiques d'évaluation de l'impact des performances réseau sur les applications basées sur le Cloud doivent inclure des tests réguliers d'évaluation du réseau de votre environnement. Cet article décrit les étapes requises pour définir, configurer et tester les performances réseau entre instances Windows EC2. Etant donné que les performances réseau constituent souvent un aspect essentiel des performances des applications, le test des performances réseau peut fournir des informations appréciables pour déterminer le type, la taille et la configuration des instances EC2 qui répondent le mieux à vos besoins.

Avant de commencer les tests d'évaluation, lancez et configurez vos instances Windows EC2 :

  1. Suivez les étapes de la rubrique Lancement d'une instance Windows pour lancer deux instances Windows à partir desquelles vous pourrez exécuter le test des performances réseau.
  2. Pour garantir les meilleures performances réseau possibles, vérifiez que les instances prennent en charge la mise en réseau améliorée pour Windows, lancez les instances dans le même VPC et suivez les étapes de la rubrique Activation de la mise en réseau améliorée sur les instances Windows d'un VPC.
  3. Si vous testez les performances réseau entre des instances qui ne se trouvent pas dans le même groupe de placement ou qui ne prennent pas en charge les trames jumbo, suivez les étapes de la rubrique Unité de transmission maximale (MTU) du réseau pour votre instance EC2 afin de vérifier et définir la MTU sur votre instance Amazon EC2.
  4. Suivez les étapes de la rubrique Connexion à votre instance Windows à l'aide de RDP pour vérifier que vous pouvez accéder aux instances.

Connectez-vous à vos instances Windows via RDP et procédez comme suit :

  1. Téléchargez NTttcp-v5.31.zip à partir de la page de téléchargement Microsoft TechNet NTttcp.
  2. Décompressez le contenu du fichier dans un dossier.
  3. Ouvrez une fenêtre d'invite de commande avec les privilèges d'administrateur et passez dans le dossier où vous avez décompressé NTttcp-v5.31.zip.
  4. Passez dans le dossier dont le nom correspond à l'architecture de votre instance Windows EC2 avant d'exécuter NTttcp.

NTttcp communique via le port 5001 par défaut lors du test des performances TCP ; cependant, ce port est configurable à l'aide du commutateur -p. Vérifiez que les groupes de sécurité sont configurés de façon à autoriser la communication via les ports qui seront utilisés par NTttcp. Ajoutez également des règles de pare-feu Windows pour le trafic entrant et sortant, sur le récepteur et sur l'expéditeur, autorisant les connexions de NTttcp.exe.

  1. Configurez une instance en tant que serveur/récepteur pour initialiser les écouteurs à partir du port par défaut 5001 ou spécifiez un autre port d'écoute initial à l'aide du commutateur -p. Par exemple, la commande suivante initialise un récepteur à deux threads qui écoute sur les ports 80 à 81 de l'adresse IP indiquée, le premier thread s'exécutant sur l'UC 0 et le second thread sur l'UC 1. Tous les paramètres de récepteur de ntttcp.exe utilisés dans cet exemple sont décrits sous la commande :
         ntttcp -r -p 80 -a 6 -t 60 -cd 5 -wu 5 -v -xml c:\bench.xml -m 1,0,192.168.1.4 1,1,192.168.1.4
         • -r : réception
         • -p 80 : port utilisé par le premier thread pour recevoir les données ; le numéro de port est incrémenté pour chaque thread récepteur supplémentaire
         • -a 6 : transfert de données asynchrone qui publie 6 tampons de réception se chevauchant par thread
         • -t 60 : durée du test en secondes
         • -cd 5 : temps de recharge du test de 5 secondes
         • -wu 5 : temps de préparation du test de 5 secondes
         • -v : spécifie la sortie détaillée du test
         • -xml : enregistre la sortie du test dans le fichier spécifié (par défaut, dans le fichier xml.txt)
         • -m : spécifie 3 paramètres de mapping par session (nombre de threads, CPUID, adresse IP du récepteur) ; les sessions multiples sont délimitées par un espace
  2. Configurez une seconde instance en tant que client/expéditeur et exécutez un test sur le récepteur avec les paramètres souhaités. Par exemple, la commande suivante initialise un expéditeur TCP à deux threads envoyant les données vers les ports 80 à 81 de l'adresse IP indiquée, le premier thread s'exécutant sur l'UC 0 et le second thread sur l'UC 1. Tous les paramètres d'expéditeur de ntttcp.exe utilisés dans cet exemple sont décrits sous la commande :
         ntttcp -s -p 80 -a -t 60 -cd 5 -wu 5 -m 1,0,192.168.1.4 1,1,192.168.1.4
         • -s : envoi
         • -p 80 : port utilisé par le premier thread pour envoyer les données ; ce numéro de port est incrémenté pour chaque thread expéditeur supplémentaire
         • -a : utilise la valeur par défaut de 2 tampons d'envoi asynchrone se chevauchant par thread ; spécifiez une autre valeur si vous le souhaitez
         • -t 60 : durée du test en secondes
         • -cd 5 : temps de recharge du test de 5 secondes
         • -wu 5 : temps de préparation du test de 5 secondes
         • -m : spécifie 3 paramètres de mapping par session (nombre de threads, CPUID, adresse IP de destination) ; les sessions multiples sont délimitées par un espace

La sortie au format xml générée sur le récepteur doit se présenter comme suit. Dans ce test, la bande passante totale utilisée était d'environ 9,02 Gbits/s.

bandwidth-tcp

NTttcp communique via le port 5001 par défaut lors du test des performances UDP ; cependant, ce port est configurable à l'aide du commutateur -p. Vérifiez que les groupes de sécurité sont configurés de façon à autoriser la communication via les ports qui seront utilisés par NTttcp. Ajoutez également des règles de pare-feu Windows pour le trafic entrant et sortant, sur le récepteur et sur l'expéditeur, autorisant les connexions de NTttcp.exe.

  1. Configurez une instance en tant que serveur/récepteur pour initialiser les écouteurs à partir du port par défaut 5001 ou spécifiez un autre port d'écoute initial à l'aide du commutateur -p. Par exemple, la commande suivante initialise un récepteur à deux threads écoutant sur les ports 80 à 81 de l'adresse IP indiquée, le premier thread s'exécutant sur l'UC 0 et le second thread sur l'UC 1. Tous les paramètres de récepteur de ntttcp.exe utilisés dans cet exemple sont décrits sous la commande :
         ntttcp –r –u -p 80 –t 60 –cd 5 –wu 5 –v –xml c:\bench.xml –m 1,0,192.168.1.4 1,1,192.168.1.4
         • -r : réception
         • -u : test UDP
         • -p 80 : port utilisé par le premier thread pour recevoir les données ; le numéro de port est incrémenté pour chaque thread récepteur supplémentaire
         • -t 60 : durée du test en secondes
         • -cd 5 : temps de recharge du test de 5 secondes
         • -wu 5 : temps de préparation du test de 5 secondes
         • -v : spécifie la sortie détaillée du test
         • -xml : enregistre la sortie du test dans le fichier spécifié (par défaut, dans le fichier xml.txt)
         • -m : spécifie 3 paramètres de mapping par session (nombre de threads, CPUID, adresse IP du récepteur) ; les sessions multiples sont délimitées par un espace
  2. Configurez une seconde instance en tant que client/expéditeur et exécutez un test sur le récepteur avec les paramètres souhaités. Par exemple, la commande suivante initialise un expéditeur UDP à deux threads envoyant les données vers les ports 80 à 81 de l'adresse IP indiquée, le premier thread s'exécutant sur l'UC 0 et le second thread sur l'UC 1. Tous les paramètres d'expéditeur de ntttcp.exe utilisés dans cet exemple sont décrits sous la commande :
         ntttcp -s –u -p 80 -t 60 -cd 5 -wu 5 -m 1,0,192.168.1.4 1,1,192.168.1.4
         • -s : envoi
         • -u : test UDP (la valeur par défaut est un test TCP)
         • -p 80 : port utilisé par le premier thread pour envoyer les données ; ce numéro de port est incrémenté pour chaque thread expéditeur supplémentaire
         • -t 60 : durée du test en secondes
         • -cd 5 : temps de recharge du test de 5 secondes
         • -wu 5 : temps de préparation du test de 5 secondes
         • -m : spécifie 3 paramètres de mapping par session (nombre de threads, CPUID, adresse IP de destination) ; les sessions multiples sont délimitées par un espace

La sortie au format xml générée sur le récepteur doit se présenter comme suit.

bandwidth-udp

Pour voir rapidement tous les commutateurs disponibles pouvant être utilisés avec NTttcp, exécutez ntttcp à partir d'une invite de commande.

Pour plus d'informations sur les options disponibles pouvant être utilisées avec NTttcp, consultez le fichier Word TCP_Tool.docx qui est inclus dans le fichier de téléchargement NTttcp, ainsi que les dernières mises à jour de NTttcp sur la page de téléchargement Microsoft TechNet NTttcp.

Windows Amazon EC2, réseau, performances, groupes de placement, HPC, débit, NTttcp, MTU, VPC, UDP, TCP


Cette page vous a-t-elle été utile ? Oui | Non

Retour au Centre de connaissances AWS Support

Vous avez besoin d'aide ? Consultez le site du Centre AWS Support.