Je dois mesurer la bande passante réseau entre les instances Amazon EC2 Windows. Comment puis-je procéder ?

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

  • Proximité physique des instances EC2, répertoriées par ordre décroissant :
    • Instances dans la même zone de disponibilité
    • Instances dans différentes zones de disponibilité de la même région
    • Instances dans différentes régions du même continent
    • Instances dans différentes régions sur différents continents
  • Unité de transmission maximale (MTU) de l'instance EC2. La configuration d'interface par défaut pour les instances EC2 utilise des trames Jumbo (9 001 MTU), ce qui assure un débit plus élevé dans un seul Virtual Private Cloud (VPC). Toutefois, en dehors d'un VPC, la MTU maximale est de 1 500, ce qui requiert une fragmentation des paquets importants par des systèmes intermédiaires. Par conséquent, la valeur par défaut de la MTU de 9 001 peut être inefficace, car elle coûte plus cher en traitement qu'elle ne permet d'économiser en débit de réseau, surtout lorsque la majeure partie de votre trafic réseau est accessible depuis 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 des instances EC2. Les grandes tailles d'instance pour un type d'instance offrent généralement de meilleures performances réseau que les tailles d'instance inférieures de même type.
  • Prise en charge de la mise en réseau améliorée EC2 pour Windows, à l'exception des types d'instances 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 de prendre en charge les vitesses réseau de 10 gigabits. Pour plus d'informations, consultez Lancement d'instances dans un groupe de placement. Pour connaître les performances réseau de chaque type d'instance, consultez la Matrice des types d'instances.

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 pour évaluer l'impact des performances réseau sur les applications basées sur le cloud doivent inclure le test des points de référence réseau périodiques de votre environnement. Cet article décrit les étapes requises pour configurer les performances réseau entre les instances EC2 Windows et pour en définir les points de référence. Les performances réseau étant souvent un aspect critique des performances des applications, le test les 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 des points de référence, lancez et configurez vos instances EC2 Windows :

  1. Suivez les étapes décrites dans Lancement d'une instance Windows pour lancer deux instances Windows à partir desquelles exécuter des tests de performances réseau.
  2. Pour obtenir les meilleures performances réseau possibles, assurez-vous 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 décrites dans Activation de la mise en réseau améliorée des instances Windows dans un VPC.
  3. Si vous testez les performances réseau entre des instances qui ne se trouvent dans le même groupe de placement ou qui ne prennent pas en charge les trames Jumbo, suivez les étapes décrites dans 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 décrites dans Connexion à votre instance Windows à l'aide du RDP afin de vérifier que vous pouvez accéder aux instances.

Connectez-vous à vos instances Windows par le biais du RDP et procédez comme suit :

  1. Téléchargez NTttcp-v5.31.zip sur la page de téléchargement Microsoft TechNet NTttcp.
  2. Décompressez le contenu du fichier dans un dossier.
  3. Ouvrez une invite de commande avec les privilèges d'administrateur et modifiez les répertoires du dossier dans lequel vous avez décompressé NTttcp-v5.31.zip.
  4. Modifiez les répertoires du dossier en utilisant le nom correspondant à l'architecture de votre instance EC2 Windows avant d'exécuter NTttcp.

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

  1. Configurez une instance en tant que récepteur/serveur pour initialiser les écouteurs à partir du port 5001 par défaut, ou spécifiez un autre port d'écouteur initial avec le commutateur -p. Par exemple, la commande suivante initialise un récepteur à deux threads qui écoute sur les ports 80 à 81 de l'adresse IP spécifiée, le premier thread s'exécutant sur le CPU 0 et le second thread sur le CPU 1. Tous les paramètres du récepteur 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 : recevoir
         • -p 80 : port utilisé par le premier thread pour recevoir des données ; le numéro de port est incrémenté pour chaque thread de récepteur supplémentaire
         • -a 6 : transfert asynchrone de données qui publie 6 tampons superposés de récepteur par thread
         • -t 60 : durée du test en secondes
         • -cd 5 : temps de stabilisation du test de 5 secondes
         • -wu 5 : temps de préparation du test de 5 secondes
         • -v : spécifier une sortie de test détaillée
         • -xml : enregistrer la sortie de test dans le fichier spécifié (par défaut, xml.txt)
         • -m : spécifier 3 paramètres de mappage par session (nombre de threads, CPUID, adresse IP du récepteur) ; plusieurs sessions sont délimitées par des espaces
  2. Configurez une seconde instance en tant qu'expéditeur/client 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 sur les ports 80 à 81 de l'adresse IP spécifiée, le premier thread s'exécutant sur le CPU 0 et le second thread sur le CPU 1. Tous les paramètres d'expéditeur 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 : envoyer
         • -p 80 : port utilisé par le premier thread pour envoyer des données ; le numéro de ce port est incrémenté pour chaque thread d'envoi supplémentaire
         • -a : utiliser la valeur par défaut de 2 tampons superposés d'envoi asynchrone par thread ; spécifier une valeur autre que celle par défaut si vous le souhaitez
         • -t 60 : durée du test en secondes
         • -cd 5 : temps de stabilisation du test de 5 secondes
         • -wu 5 : temps de préparation du test de 5 secondes
         • -m : spécifier 3 paramètres de mappage par session (nombre de threads, CPUID, adresse IP de destination) ; plusieurs sessions sont délimitées par des espaces

La sortie xml générée sur le récepteur doit ressembler à ce qui suit. Dans ce test, la bande passante totale utilisée était d'environ 9,02 Gbits/s.

bandwidth-tcp

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

  1. Configurez une instance en tant que récepteur/serveur pour initialiser les écouteurs à partir du port 5001 par défaut, ou spécifiez un autre port d'écouteur initial avec le commutateur -p. Par exemple, la commande suivante initialise un récepteur à deux threads qui écoute sur les ports 80 à 81 de l'adresse IP spécifiée, le premier thread s'exécutant sur le CPU 0 et le second thread sur le CPU 1. Tous les paramètres du récepteur 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 : recevoir
         • -u : tester UDP
         • -p 80 : port utilisé par le premier thread pour recevoir des données ; le numéro de port est incrémenté pour chaque thread de récepteur supplémentaire
         • -t 60 : durée du test en secondes
         • -cd 5 : temps de stabilisation du test de 5 secondes
         • -wu 5 : temps de préparation du test de 5 secondes
         • -v : spécifier une sortie de test détaillée
         • -xml : enregistrer la sortie de test dans le fichier spécifié (par défaut, xml.txt)
         • -m : spécifier 3 paramètres de mappage par session (nombre de threads, CPUID, adresse IP du récepteur) ; plusieurs sessions sont délimitées par des espaces
  2. Configurez une seconde instance en tant qu'expéditeur/client 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 sur les ports 80 à 81 de l'adresse IP spécifiée, le premier thread s'exécutant sur le CPU 0 et le second thread sur le CPU 1. Tous les paramètres d'expéditeur 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 : envoyer
         • -u : tester UDP (la valeur par défaut consiste à tester TCP)
         • -p 80 : port utilisé par le premier thread pour envoyer des données ; le numéro de ce port est incrémenté pour chaque thread d'envoi supplémentaire
         • -t 60 : durée du test en secondes
         • -cd 5 : temps de stabilisation du test de 5 secondes
         • -wu 5 : temps de préparation du test de 5 secondes
         • -m : spécifier 3 paramètres de mappage par session (nombre de threads, CPUID, adresse IP de destination) ; plusieurs sessions sont délimitées par des espaces

La sortie xml générée sur le récepteur doit ressembler à ce qui suit.

bandwidth-udp

Pour afficher rapidement tous les commutateurs disponibles à utiliser avec NTttcp, exécutez ntttcp à partir d'une invite de commande.

Pour plus d'informations sur les options disponibles à utiliser avec NTttcp, consultez le fichier Word intitulé TCP_Tool.docx et inclus avec le fichier de téléchargement NTttcp, et consultez les dernières mises à jour de NTttcp sur la page de téléchargement Microsoft TechNet NTttcp.

Amazon EC2 Windows, 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 Centre AWS Support.