Comment évaluer le débit réseau d'une instance Windows Amazon EC2 ?
Je dois mesurer la bande passante du réseau entre les instances Windows Amazon Elastic Compute Cloud (Amazon EC2). Comment faire ?
Solution
Les tests d'évaluation des performances réseau peuvent vous aider à déterminer les types, les tailles et la configuration des instances Amazon EC2 qui répondent le mieux à vos besoins. Pour plus d'informations sur les performances réseau pour chaque type d'instance, consultez Types d'instance Amazon EC2.
Lancez et configurez vos instances Windows Amazon EC2
Avant d'exécuter les tests de référence, suivez les étapes suivantes :
1. Lancez deux instances Windows EC2 pour exécuter les tests de performances réseau.
2. Vérifiez que les instances supportent la mise en réseau améliorée pour Windows.
3. Pour exécuter des tests réseau entre des instances qui ne sont pas co-localisées dans le même groupe de placement ou qui ne supportent pas les trames jumbo, vérifiez et définissez l'unité de transmission maximale (MTU).
4. Vérifiez que vous pouvez vous connecter aux instances.
Installez l'outil de point de référence réseau NTttcp sur les deux instances
Connectez-vous à chacune des deux instances Windows, puis suivez les étapes suivantes :
1. Téléchargez la dernière version de Microsoft NTttcp à partir du site Web GitHub.
2. Décompressez le contenu du fichier dans un dossier.
3. Ouvrez une invite de commande avec des privilèges d'administrateur, puis modifiez les répertoires dans le dossier dans lequel vous avez décompressé l'outil de référence réseau NTttcp.
4. Modifiez les répertoires du dossier en utilisant le nom correspondant à l'architecture de votre instance Windows EC2 avant d'exécuter NTttcp.
Tester les performances réseau TCP et UDP entre les instances
Par défaut, NTttcp communique sur le port 5001 lors du test des performances TCP et UDP. Toutefois, vous pouvez configurer ce port en utilisant le commutateur -p.
Important :
- Les groupes de sécurité doivent être configurés pour permettre la communication sur les ports utilisés par NTttcp.
- Ajoutez des règles de pare-feu Windows entrantes et sortantes pour le récepteur et l'expéditeur qui autorisent les connexions NTttcp.exe.
Tester les performances du réseau TCP
1. Configurez une instance en tant que récepteur/serveur pour initialiser les écouteurs, en commençant par le port par défaut 5001. Vous pouvez également spécifier un autre port d'écoute 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écute sur CPU 0, et le second thread s'exécute sur CPU 1.
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
Les paramètres du récepteur ntttcp.exe dans l'exemple ci-dessus sont décrits comme suit :
- -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 récepteur supplémentaire.
- -a 6 : transfert de données asynchrone qui publie six mémoires tampon de réception se chevauchant 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 trois paramètres de mappage par session (# threads, CPUID, adresse IP du récepteur). Plusieurs sessions sont délimitées par l'espace.
2. Configurez la deuxième instance en tant qu'expéditeur/client, puis exécutez un test sur le récepteur avec les paramètres de votre choix.
Par exemple, la commande suivante initialise un expéditeur TCP à deux threads aux ports 80-81 de l'adresse IP spécifiée. Le premier thread s'exécute sur CPU 0, et le second thread s'exécute sur CPU 1.
Remarque : La commande suivante a la même adresse IP que la commande de l'étape 1. Entrez l'adresse IP du récepteur sur les deux commandes.
ntttcp -s -p 80 -a -t 60 -cd 5 -wu 5 -m 1,0,192.168.1.4 1,1,192.168.1.4
Les paramètres de l'expéditeur ntttcp.exe dans l'exemple ci-dessus sont décrits comme suit :
- -s : envoyer.
- -p 80 : port utilisé par le premier thread pour envoyer des données. Ce numéro de port est incrémenté pour chaque thread d'expéditeur supplémentaire.
- -a : la valeur par défaut des tampons d'envoi asynchrones superposées par thread est 2. Spécifiez une valeur autre que la valeur par défaut si nécessaire.
- -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 trois paramètres de mappage par session (# threads, CPUID, adresse IP du récepteur). Plusieurs sessions sont délimitées par l'espace.
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 Gbit/s.
<ntttcpr computername="Win_EC2_Recv" version="5.31"> <parameters> <send_socket_buff>0</send_socket_buff> <recv_socket_buff>-1</recv_socket_buff> <port>82</port> <sync_port>False</sync_port> <async>True</async> <verbose>True</verbose> <wsa>False</wsa> <use_ipv6>False</use_ipv6> <udp>False</udp> <verify_data>False</verify_data> <wait_all>False</wait_all> <run_time>60000</run_time> <warmup_time>5000</warmup_time> <cooldown_time>5000</cooldown_time> <dash_n_timeout>10800000</dash_n_timeout> <bind_sender>False</bind_sender> <sender_name></sender_name> <max_active_threads>2</max_active_threads> </parameters> <thread index="0"> <realtime metric="s">60.012</realtime> <throughput metric="KB/s">542199.263</throughput> <throughput metric="MB/s">529.491</throughput> <throughput metric="mbps">4441.696</throughput> <avg_bytes_per_compl metric="B">65091.350</avg_bytes_per_compl> </thread> <thread index="1"> <realtime metric="s">60.012</realtime> <throughput metric="KB/s">559260.669</throughput> <throughput metric="MB/s">546.153</throughput> <throughput metric="mbps">4581.463</throughput> <avg_bytes_per_compl metric="B">65535.750</avg_bytes_per_compl> </thread> <total_bytes metric="MB">64550.500000</total_bytes> <realtime metric="s">60.011000</realtime> <avg_bytes_per_compl metric="B">65316.236</avg_bytes_per_compl> <threads_avg_bytes_per_compl metric="B">65313.550</threads_avg_bytes_per_compl> <avg_frame_size metric="B">8194.809</avg_frame_size> <throughput metric="MB/s">1075.644</throughput> <throughput metric="mbps">9023.160</throughput> <total_buffers>1032808.000</total_buffers> <throughput metric="buffers/s">17210.311</throughput> <avg_packets_per_interrupt metric="packets/interrupt">5.749 </avg_packets_per_interrupt> <interrupts metric="count/sec">23942.694</interrupts> <dpcs metric="count/sec">9546.816</dpcs> <avg_packets_per_dpc metric="packets/dpc">14.417 </avg_packets_per_dpc> <cycles metric="cycles/byte">2.826</cycles> <packets_sent>730596</packets_sent> <packets_received>8259632</packets_received> <packets_retransmitted>0</packets_retransmitted> <errors>0</errors> <cpu metric="%">7.813</cpu> <bufferCount>9223372036854775807</bufferCount> <bufferLen>65536</bufferLen> <io>6</io> </ntttcpr>
Tester les performances du réseau UDP
1. Configurez une instance en tant que récepteur/serveur pour initialiser les écouteurs, en commençant par le port par défaut 5001. Vous pouvez également spécifier un autre port d'écoute 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écute sur CPU 0, et le second thread s'exécute sur CPU 1.
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
Les paramètres du récepteur ntttcp.exe dans l'exemple ci-dessus sont décrits comme suit :
- -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 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 trois paramètres de mappage par session (# threads, CPUID, adresse IP du récepteur). Plusieurs sessions sont délimitées par l'espace.
2. Configurez une deuxième instance en tant qu'expéditeur/client, puis 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 aux ports 80-81 de l'adresse IP spécifiée. Le premier thread s'exécute sur CPU 0, et le second thread s'exécute sur CPU 1.
Remarque : La commande suivante a la même adresse IP que la commande de l'étape 1. Entrez l'adresse IP du récepteur sur les deux commandes.
ntttcp -s –u -p 80 -t 60 -cd 5 -wu 5 -m 1,0,192.168.1.4 1,1,192.168.1.4
Les paramètres de l'expéditeur ntttcp.exe dans l'exemple ci-dessus sont décrits comme suit :
- -s : envoyer.
- -u : tester UDP (la valeur par défaut consiste à tester TCP).
- -p 80 : port utilisé par premier thread pour envoyer des données. Le numéro de port est incrémenté pour chaque thread d'expéditeur 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 trois paramètres de mappage par session (# threads, CPUID, adresse IP du récepteur). Plusieurs sessions sont délimitées par l'espace.
La sortie XML générée sur le récepteur doit ressembler à ce qui suit :
<ntttcpr computername="Win_UDP_Test" version="5.31"> <parameters> <send_socket_buff>8192</send_socket_buff> <recv_socket_buff>-1</recv_socket_buff> <port>82</port> <sync_port>False</sync_port> <async>False</async> <verbose>True</verbose> <wsa>False</wsa> <use_ipv6>False</use_ipv6> <udp>True</udp> <verify_data>False</verify_data> <wait_all>False</wait_all> <run_time>60000</run_time> <warmup_time>5000</warmup_time> <cooldown_time>5000</cooldown_time> <dash_n_timeout>10800000</dash_n_timeout> <bind_sender>False</bind_sender> <sender_name></sender_name> <max_active_threads>2</max_active_threads> </parameters> <thread index="0"> <realtime metric="s">60.016</realtime> <throughput metric="KB/s">6463.886</throughput> <throughput metric="MB/s">6.312</throughput> <throughput metric="mbps">52.952</throughput> <avg_bytes_per_compl metric="B">128.000</avg_bytes_per_compl> </thread> <thread index="1"> <realtime metric="s">60.016</realtime> <throughput metric="KB/s">7712.922</throughput> <throughput metric="MB/s">7.532</throughput> <throughput metric="mbps">63.184</throughput> <avg_bytes_per_compl metric="B">128.000</avg_bytes_per_compl> </thread> <total_bytes metric="MB">830.880005</total_bytes> <realtime metric="s">60.015000</realtime> <avg_bytes_per_compl metric="B">128.000</avg_bytes_per_compl> <threads_avg_bytes_per_compl metric="B">128.000<</threads_avg_bytes_per_compl> <avg_frame_size metric="B">127.780</avg_frame_size> <throughput metric="MB/s">13.845</throughput> <throughput metric="mbps">116.136</throughput> <total_buffers>6806569.000</total_buffers> <throughput metric="buffers/s">113414.463</throughput> <avg_packets_per_interrupt metric="packets/interrupt">1.968 </avg_packets_per_interrupt> <interrupts metric="count/sec">57715.621</interrupts> <dpcs metric="count/sec">11576.306</dpcs> <avg_packets_per_dpc metric="packets/dpc">9.814</avg_packets_per_dpc> <cycles metric="cycles/byte">210.673</cycles> <packets_sent>2</packets_sent> <packets_received>6818294</packets_received> <packets_retransmitted>0</packets_retransmitted> <errors>1</errors> <cpu metric="%">44.976</cpu> <bufferCount>9223372036854775807</bufferCount> <bufferLen>128</bufferLen> <io>2</io> </ntttcpr>
(Facultatif) Commutateurs NTttcp Pour afficher tous les commutateurs disponibles pour une utilisation avec NTttcp, ouvrez une invite de commande, puis exécutez la commande suivante :
ntttcp
Informations connexes
Unité de transmission maximale du réseau (MTU) pour votre instance EC2
Comment évaluer le débit réseau entre les instances Linux Amazon EC2 dans le même Amazon VPC ?

Contenus pertinents
- demandé il y a 12 jourslg...
- demandé il y a un moislg...
- demandé il y a un moislg...
- demandé il y a 2 moislg...
- demandé il y a 3 moislg...
- AWS OFFICIELA mis à jour il y a 7 mois
- AWS OFFICIELA mis à jour il y a 2 ans
- AWS OFFICIELA mis à jour il y a 9 mois
- AWS OFFICIELA mis à jour il y a 2 ans