Je dois mesurer la bande passante réseau entre des instances Linux Amazon Elastic Compute Cloud (Amazon EC2) dans le même VPC. Quelle est la marche à suivre ?

Cet exemple s'applique uniquement à des instances EC2 dans le même VPC. Voici quelques facteurs qui peuvent affecter les performances réseau Amazon EC2 :

  • Proximité physique des instances EC2 Des instances situées dans la même zone de disponibilité sont géographiquement plus proches les unes des autres, tandis que des instances situées dans différentes zones de disponibilité d'une même région, des instances situées dans différentes régions du même continent et des instances situées dans différentes régions sur différents continents sont de plus en plus éloignées les unes des autres.
  • Unité de transmission maximale (MTU) des instances EC2 La configuration de l'interface par défaut pour les instances EC2 utilise des jumbo frames si elles font parties des tailles d'instance répertoriées dans Jumbo Frames (9001 MTU).
  • Taille de votre 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 Linux, à l'exception des types d'instance T2 et M3.
  • Prise en charge du Calcul Haute Performance (HPC) EC2 avec 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 maximales de 25 gigabits, en fonction du type d'instance. Pour connaître les performances réseau de chaque type d'instance, consultez la Matrice des types d'instance. Pour plus d'informations, consultez Lancement d'instances dans un groupe de placement.

En raison de ces facteurs, il peut y avoir une différence de performances réseau importante entre les différents environnements de Cloud. Une bonne pratique consiste à évaluer et comparer régulièrement les performances réseau de votre environnement afin d'améliorer les performances des applications. Tester 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 d'évaluation, lancez et configurez vos instances Linux EC2 :

  1. Lancez deux instances Linux à partir desquelles vous pourrez exécuter le test des performances réseau.
  2. Assurez-vous que les instances prennent en charge la mise en réseau améliorée pour Linux et sont dans le même VPC.
  3. (Facultatif) Si vous testez les performances réseau entre des instances qui se trouvent dans des groupes de placement différents ou qui ne prennent pas en charge les jumbo frames, suivez les étapes de Unité de transmission maximale (MTU) du réseau pour votre instance EC2 afin de vérifier et définir la MTU sur votre instance.
  4. Connectez-vous aux instances pour vérifier que vous pouvez accéder aux instances.

Dans certaines distributions, comme Amazon Linux, iperf3 fait partie du référentiel EPEL. Pour activer le référentiel EPEL, consultez Comment activer le référentiel EPEL pour mon instance Amazon EC2 qui exécute CentOS, RHEL ou Amazon Linux ?

Connectez-vous à vos instances Linux et exécutez les commandes suivantes pour installer iperf3.

Pour installer iperf3 sur des hôtes Linux RHEL 6, exécutez les commandes suivantes :

# yum -y install  https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm  && yum -y install iperf3

Pour installer iperf3 sur des hôtes Linux RHEL 7, exécutez les commandes suivantes :

# yum -y install  https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm  && yum -y install iperf3

Pour installer iperf3 sur des hôtes Debian/Ubuntu, exécutez les commandes suivantes :

# apt-get install -y iperf3

Pour installer iperf3 sur des hôtes CentOS6/7, exécutez les commandes suivantes :

# yum -y install epel-release && yum -y install iperf3

Par défaut, iperf3 communique sur le port 5201 lors du test des performances TCP. Toutefois, vous pouvez configurer le port à utiliser avec le commutateur -p. Vérifiez que les groupes de sécurité sont configurés de façon à autoriser la communication via le port utilisé par iperf3.

Configurez une instance en tant que serveur écoutant sur le port par défaut, ou spécifiez un autre port d'écoute à l'aide du commutateur -p :

$ sudo iperf3 -s [-p <port number>]

Configurez une seconde instance en tant que client et exécutez un test sur le serveur avec les paramètres souhaités. Par exemple, la commande suivante lance un test TCP sur l'instance de serveur spécifiée avec 10 connexions parallèles :

$ sudo iperf3 -c 192.0.2.0 -P 10 -i 1 -t 60 -V [-p <port number>]

En utilisant ces paramètres iperf3 spécifiés, la sortie affiche l'intervalle (60 secondes) par thread, les données transférées par thread et la bande passante utilisée par chaque thread. La sortie iperf3 présentée ici a été générée en testant deux instances Linux EC2 de type c4.8xlarge situées dans le même groupe de placement et assurant la prise en charge du Calcul Haute Performance (HPC). Nous avons modifié la valeur du paramètre -t de -t 60 à -t 2 et de -P 10 à -P 2 pour faciliter l'affichage. La bande passante totale de transmission entre toutes les connexions était de 9,6 Gbits/s :

Output:
$ iperf3 -c 192.0.2.0 -t 2 -i 1 -P 2 -R
Connecting to host 192.0.2.0, port 5201
Reverse mode, remote host 192.0.2.0 is sending
[  4] local 198.51.100.0 port 47122 connected to 192.0.2.0 port 5201
[  6] local 198.51.100.0 port 47124 connected to 192.0.2.0 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec   572 MBytes  4.80 Gbits/sec
[  6]   0.00-1.00   sec   572 MBytes  4.80 Gbits/sec
[SUM]   0.00-1.00   sec  1.12 GBytes  9.60 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  4]   1.00-2.00   sec   573 MBytes  4.80 Gbits/sec
[  6]   1.00-2.00   sec   573 MBytes  4.80 Gbits/sec
[SUM]   1.00-2.00   sec  1.12 GBytes  9.61 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-2.00   sec  1.12 GBytes  4.82 Gbits/sec    0             sender
[  4]   0.00-2.00   sec  1.12 GBytes  4.81 Gbits/sec                  receiver
[  6]   0.00-2.00   sec  1.12 GBytes  4.81 Gbits/sec    0             sender
[  6]   0.00-2.00   sec  1.12 GBytes  4.81 Gbits/sec                  receiver
[SUM]   0.00-2.00   sec  2.24 GBytes  9.63 Gbits/sec    0             sender
[SUM]   0.00-2.00   sec  2.24 GBytes  9.63 Gbits/sec                  receiver

iperf Done.

Par défaut, iperf3 communique sur le port 5201 lors du test des performances UDP. Toutefois, vous pouvez configurer le port à utiliser avec le commutateur -p. Vérifiez que les groupes de sécurité sont configurés de façon à autoriser la communication via le port utilisé par iperf3.

Remarque : La valeur par défaut pour UDP est de 1 Mb/s, sauf si une bande passante différente est spécifiée.

Tout d'abord, configurez une instance en tant que serveur écoutant sur le port par défaut, ou spécifiez un autre port d'écoute à l'aide du commutateur -p :

$ sudo iperf3 -s [-p <port number>]

Ensuite, configurez une seconde instance en tant que client et exécutez un test sur le serveur avec les paramètres souhaités. Par exemple, la commande suivante lance un test UDP sur l'instance de serveur spécifiée avec un objectif de bande passante de 100 Mb/s sur le port que vous utilisez.

$ sudo iperf3 -c 10.0.2.176 [-p <port number>] -u -b 100m

La sortie affiche l'intervalle (de temps), le volume de données transférées, la bande passante atteinte, l'instabilité (l'écart de temps lors des arrivées périodiques de datagrammes) et les pertes/le nombre total de datagrammes UDP :

[ ID] Interval        Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  3]  0.0-10.0 sec   120 MBytes   101 Mbits/sec  ; 0.005 ms  0/85470 (0%)
[  3]  0.0-10.0 sec   1 datagrams received out-of-order
[  3] Sent 15113 datagrams

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.

Date de publication : 2015-08-06

Date de mise à jour : 2018-08-20