Une fois un circuit Express Connect déployé, testez ses performances réseau pour vous assurer qu'il répond à vos besoins métier. Cette rubrique explique comment tester les performances d'un circuit Express Connect à l'aide de Netperf et iPerf3.
Prérequis
-
Un circuit Express Connect est déployé et configuré. Votre centre de données est connecté à Alibaba Cloud via le circuit Express Connect.
-
Préparez un appareil sur site pour servir de client ou de serveur lors des tests Netperf ou iPerf3.
Dans cet exemple, l'adresse IP de l'appareil sur site est 192.168.100.1.
-
Créez et déployez huit instances Elastic Compute Service (ECS) dans des Virtual Private Clouds (VPC). Ces instances ECS servent de clients ou de serveurs lors des tests Netperf ou iPerf3. Elles sont connectées à l'appareil sur site pour transmettre les informations de configuration et les résultats des tests.
Dans cet exemple, des instances ECS de type ecs.se1,2xlarge sont créées. L'image utilisée est centos_7_2_64_40G_base_20170222.vhd et la plage d'adresses IP va de 172.16.0.2 à 172.16.0.9.
Configurer l'environnement de test
Installer Netperf et iPerf3
Pour installer Netperf et iPerf3 sur l'appareil sur site et les instances ECS, suivez les étapes ci-dessous :
Les opérations suivantes montrent comment installer Netperf et iPerf3 sur une instance ECS.
Connectez-vous à l'instance ECS. Pour plus d'informations, consultez Méthodes de connexion à distance aux instances ECS.
-
Installez Netperf.
-
Téléchargez le package d'installation de Netperf en exécutant la commande suivante :
wget -c "https://codeload.github.com/HewlettPackard/netperf/tar.gz/netperf-2.5.0" -O netperf-2.5.0.tar.gz -
Installez Netperf en exécutant les commandes suivantes dans l'ordre :
tar -zxvf netperf-2.5.0.tar.gz cd netperf-netperf-2.5.0 ./configure make make install -
Vérifiez l'installation de Netperf en exécutant
netperf -Vounetserver -V.Si le système renvoie les informations suivantes, Netperf est installé :
Netperf version 2.5.0
-
-
Installez iPerf3.
-
Téléchargez iPerf3 en exécutant les commandes suivantes :
yum install git -y git clone https://github.com/esnet/iperf -
Installez iPerf3 en exécutant les commandes suivantes :
cd iperf ./configure && make && make install && cd .. cd src ADD_PATH="$(pwd)" PATH="${ADD_PATH}:${PATH}" export PATH -
Vérifiez l'installation d'iPerf3 en exécutant la commande
iperf3 -v.Si le système renvoie les informations suivantes, iPerf3 est installé :
iperf 3.10.1+ (cJSON 1.7.13) Linux iZbp15y0zrhx2ry6vo1b4wZ 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64
-
Activer la fonctionnalité multi-file d'attente
Supposons que l'interface eth0 soit connectée au circuit Express Connect. Activez la fonctionnalité multi-file d'attente sur l'appareil sur site en exécutant la commande ethtool -L eth0 combined 4.
Dans cet exemple, les informations suivantes sont renvoyées :
echo "ff" > /sys/class/net/eth0/queues/rx-0/rps_cpus
echo "ff" > /sys/class/net/eth0/queues/rx-1/rps_cpus
echo "ff" > /sys/class/net/eth0/queues/rx-2/rps_cpus
echo "ff" > /sys/class/net/eth0/queues/rx-3/rps_cpus
Utiliser Netperf pour tester les performances de transfert de paquets du circuit Express Connect
Présentation de Netperf
Après l'installation de Netperf, deux outils en ligne de commande (CLI) sont disponibles : netserver (serveur) et netperf (client). Le tableau suivant décrit les principaux paramètres.
| Outil | Paramètre principal | Description |
| netserver | -p | Numéro de port de l'écouteur. |
| netperf | -H | Adresse IP de l'appareil sur site ou de l'instance ECS. |
| -p | Port de l'appareil sur site ou de l'instance ECS. | |
| -l | Durée d'exécution de l'outil. | |
| -t | Protocole utilisé pour envoyer les paquets. Valeurs valides : TCP_STREAM et UDP_STREAM. Nous vous recommandons d'utiliser UDP_STREAM. | |
| -m | Taille des paquets de données.
|
Tester les performances de transfert de paquets avec l'appareil sur site en tant que serveur
-
Démarrez le processus netserver sur l'appareil sur site et spécifiez différents ports en exécutant les commandes suivantes :
netserver -p 11256 netserver -p 11257 netserver -p 11258 netserver -p 11259 netserver -p 11260 netserver -p 11261 netserver -p 11262 netserver -p 11263 -
Sur les huit instances ECS, démarrez le processus netperf et spécifiez les ports de netserver comme ports des instances ECS en exécutant la commande
netperf -H server_ip -p port 6 -t UDP_STREAM -l 300 -- -m 1.-
Pour tester les PPS, exécutez les commandes suivantes :
netperf -H 192.168.100.1 -p 11256 -t UDP_STREAM -l 300 -- -m 1 #The first ECS instance netperf -H 192.168.100.1 -p 11257 -t UDP_STREAM -l 300 -- -m 1 #The second ECS instance netperf -H 192.168.100.1 -p 11258 -t UDP_STREAM -l 300 -- -m 1 #The third ECS instance netperf -H 192.168.100.1 -p 11259 -t UDP_STREAM -l 300 -- -m 1 #The fourth ECS instance netperf -H 192.168.100.1 -p 11260 -t UDP_STREAM -l 300 -- -m 1 #The fifth ECS instance netperf -H 192.168.100.1 -p 11261 -t UDP_STREAM -l 300 -- -m 1 #The sixth ECS instance netperf -H 192.168.100.1 -p 11262 -t UDP_STREAM -l 300 -- -m 1 #The seventh ECS instance netperf -H 192.168.100.1 -p 11263 -t UDP_STREAM -l 300 -- -m 1 #The eighth ECS instance -
Pour tester les BPS, exécutez les commandes suivantes :
netperf -H 192.168.100.1 -p 11256 -t UDP_STREAM -l 300 -- -m 1400 #The first ECS instance netperf -H 192.168.100.1 -p 11257 -t UDP_STREAM -l 300 -- -m 1400 #The second ECS instance netperf -H 192.168.100.1 -p 11258 -t UDP_STREAM -l 300 -- -m 1400 #The third ECS instance netperf -H 192.168.100.1 -p 11259 -t UDP_STREAM -l 300 -- -m 1400 #The fourth ECS instance netperf -H 192.168.100.1 -p 11260 -t UDP_STREAM -l 300 -- -m 1400 #The fifth ECS instance netperf -H 192.168.100.1 -p 11261 -t UDP_STREAM -l 300 -- -m 1400 #The sixth ECS instance netperf -H 192.168.100.1 -p 11262 -t UDP_STREAM -l 300 -- -m 1400 #The seventh ECS instance netperf -H 192.168.100.1 -p 11263 -t UDP_STREAM -l 300 -- -m 1400 #The eighth ECS instance
-
Tester les performances de transfert de paquets avec l'appareil sur site en tant que client
Sur les instances ECS, démarrez le processus netserver et spécifiez les ports en exécutant la commande
netserver -p 11256.-
Sur l'appareil sur site, démarrez huit processus netperf et spécifiez différentes adresses IP pour les instances ECS en exécutant la commande
netperf -H ECS_ip -p port -t UDP_STREAM -l 300 -- -m 1.-
Pour tester les PPS, exécutez les commandes suivantes :
netperf -H 172.16.0.2 -p 11256 -t UDP_STREAM -l 300 -- -m 1 #The first ECS instance netperf -H 172.16.0.3 -p 11256 -t UDP_STREAM -l 300 -- -m 1 #The second ECS instance netperf -H 172.16.0.4 -p 11256 -t UDP_STREAM -l 300 -- -m 1 #The third ECS instance netperf -H 172.16.0.5 -p 11256 -t UDP_STREAM -l 300 -- -m 1 #The fourth ECS instance netperf -H 172.16.0.6 -p 11256 -t UDP_STREAM -l 300 -- -m 1 #The fifth ECS instance netperf -H 172.16.0.7 -p 11256 -t UDP_STREAM -l 300 -- -m 1 #The sixth ECS instance netperf -H 172.16.0.8 -p 11256 -t UDP_STREAM -l 300 -- -m 1 #The seventh ECS instance netperf -H 172.16.0.9 -p 11256 -t UDP_STREAM -l 300 -- -m 1 #The eighth ECS instance -
Pour tester les BPS, exécutez les commandes suivantes :
netperf -H 172.16.0.2 -p 11256 -t UDP_STREAM -l 300 -- -m 1400 #The first ECS instance netperf -H 172.16.0.3 -p 11257 -t UDP_STREAM -l 300 -- -m 1400 #The second ECS instance netperf -H 172.16.0.4 -p 11258 -t UDP_STREAM -l 300 -- -m 1400 #The third ECS instance netperf -H 172.16.0.5 -p 11259 -t UDP_STREAM -l 300 -- -m 1400 #The fourth ECS instance netperf -H 172.16.0.6 -p 11260 -t UDP_STREAM -l 300 -- -m 1400 #The fifth ECS instance netperf -H 172.16.0.7 -p 11261 -t UDP_STREAM -l 300 -- -m 1400 #The sixth ECS instance netperf -H 172.16.0.8 -p 11262 -t UDP_STREAM -l 300 -- -m 1400 #The seventh ECS instance netperf -H 172.16.0.9 -p 11263 -t UDP_STREAM -l 300 -- -m 1400 #The eighth ECS instance
-
Analyser le résultat du test
Le résultat suivant s'affiche une fois les processus netperf terminés côté client. Calculez les PPS à l'aide de la formule suivante : PPS = Nombre de paquets envoyés / Durée du test.
Socket Message Elapsed Messages
Size Size Time Okay Errors Throughput
bytes bytes secs # # 10^6bits/sec
124928 1 10.00 4532554 0 3.63
212992 10.00 1099999 0.88
Le tableau suivant décrit les champs du résultat du test.
| Champ | Description |
| Socket Size | Taille du tampon. |
| Message Size | Taille du paquet. Unité : octets. |
| Elapsed Time | Durée du test. Unité : secondes. |
| Message Okay | Nombre de paquets envoyés. |
| Message Errors | Nombre de paquets dont l'envoi a échoué. |
| Throughput | Débit réseau. Unité : Mbit/s. |
Utiliser iPerf3 pour tester la bande passante du circuit Express Connect
Présentation d'iPerf3
Le tableau suivant décrit les principaux paramètres d'iPerf3.
| Paramètre principal | Description |
| -s | S'applique uniquement au serveur. Ce paramètre indique qu'iPerf3 s'exécute en mode serveur. |
| -c | S'applique uniquement au client. Ce paramètre indique qu'iPerf3 s'exécute en mode client. |
| -i | Intervalle entre deux rapports. Unité : secondes. |
| -p |
|
| -u | Utilise UDP pour envoyer les paquets. Si ce paramètre n'est pas défini, TCP est utilisé. |
| -l | Longueur du tampon de lecture/écriture. Définissez la valeur sur 16 pour tester les performances de transfert de paquets. Définissez la valeur sur 1400 pour tester la bande passante. |
| -b | Bande passante utilisée en mode UDP. Unité : bit/s. |
| -t | Durée de la transmission. iPerf3 envoie de manière répétée des paquets de la longueur spécifiée pendant la durée indiquée. La durée par défaut est de 10 secondes. |
| -A | Affinité CPU. Liez un processus iPerf3 au CPU logique correspondant à l'ID pour éviter la planification du processus iPerf3 sur plusieurs CPU. |
Tester la bande passante avec l'appareil sur site en tant que serveur
-
Sur l'appareil sur site, démarrez le processus iPerf3 en mode serveur et spécifiez différents ports en exécutant les commandes suivantes :
iperf3 -s -i 1 -p 16001 iperf3 -s -i 1 -p 16002 iperf3 -s -i 1 -p 16003 iperf3 -s -i 1 -p 16004 iperf3 -s -i 1 -p 16005 iperf3 -s -i 1 -p 16006 iperf3 -s -i 1 -p 16007 iperf3 -s -i 1 -p 16008 -
Sur les instances ECS, démarrez le processus iPerf3 en mode client et spécifiez les ports de l'appareil sur site comme ports des instances ECS en exécutant la commande
iperf3 -u -l 16 -b 100m -t 120 -c server_ip -i 1 -p port -A 1.Exécutez les commandes suivantes :
iperf3 -u -l 16 -b 100m -t 120 -c 192.168.100.1 -i 1 -p 16001 -A 1 #The first ECS instance iperf3 -u -l 16 -b 100m -t 120 -c 192.168.100.1 -i 1 -p 16002 -A 2 #The second ECS instance iperf3 -u -l 16 -b 100m -t 120 -c 192.168.100.1 -i 1 -p 16003 -A 3 #The third ECS instance iperf3 -u -l 16 -b 100m -t 120 -c 192.168.100.1 -i 1 -p 16004 -A 4 #The fourth ECS instance iperf3 -u -l 16 -b 100m -t 120 -c 192.168.100.1 -i 1 -p 16005 -A 5 #The fifth ECS instance iperf3 -u -l 16 -b 100m -t 120 -c 192.168.100.1 -i 1 -p 16006 -A 6 #The sixth ECS instance iperf3 -u -l 16 -b 100m -t 120 -c 192.168.100.1 -i 1 -p 16007 -A 7 #The seventh ECS instance iperf3 -u -l 16 -b 100m -t 120 -c 192.168.100.1 -i 1 -p 16008 -A 8 #The eighth ECS instance
Tester la bande passante avec l'appareil sur site en tant que client
Sur les instances ECS, démarrez le processus iPerf3 en mode serveur et spécifiez les ports en exécutant la commande
iperf3 -s -i 1 -p 16001.-
Sur l'appareil sur site, démarrez huit processus iPerf3 en mode client en exécutant les commandes suivantes :
iperf3 -u -l 16 -b 100m -t 120 -c 172.16.0.2 -i 1 -p 16001 -A 1 iperf3 -u -l 16 -b 100m -t 120 -c 172.16.0.3 -i 1 -p 16001 -A 2 iperf3 -u -l 16 -b 100m -t 120 -c 172.16.0.4 -i 1 -p 16001 -A 3 iperf3 -u -l 16 -b 100m -t 120 -c 172.16.0.5 -i 1 -p 16001 -A 4 iperf3 -u -l 16 -b 100m -t 120 -c 172.16.0.6 -i 1 -p 16001 -A 5 iperf3 -u -l 16 -b 100m -t 120 -c 172.16.0.7 -i 1 -p 16001 -A 6 iperf3 -u -l 16 -b 100m -t 120 -c 172.16.0.8 -i 1 -p 16001 -A 7 iperf3 -u -l 16 -b 100m -t 120 -c 172.16.0.9 -i 1 -p 16001 -A 8
Analyser le résultat du test
Le résultat suivant s'affiche une fois les processus iPerf3 terminés côté client. Calculez les PPS à l'aide de la formule suivante : PPS = Nombre de paquets reçus par le pair / Durée du test.
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-10.00 sec 237 MBytes 199 Mbits/sec 0.027 ms 500/30352 (1.6%)
[ 4] Sent 30352 datagrams
Nous vous recommandons d'exécuter la commande
sar
côté serveur pour compter les paquets réellement reçus. Exemple :
sar -n DEV 1 320
.
Le tableau suivant décrit les champs du résultat du test.
| Champ | Description |
| Transfer | Quantité totale de données transmises. |
| Bandwidth | Bande passante. |
| Jitter | Gigue réseau. |
| Lost/Total Datagrams | Taux de perte de paquets, calculé selon la formule suivante : Taux de perte de paquets = Nombre de paquets perdus / Nombre total de paquets. |