Dépannage de l'émulation réseau dans les tests de charge
Les informations de résolution de problèmes dans cette rubrique s'appliquent à l'émulation de réseau des tests de charge, avec un type de réseau autre que le réseau local (LAN) dans Microsoft Visual Studio 2010 Ultimate avec les tests de charge. Dans la boîte de dialogue Modifier la combinaison de réseaux, vous pouvez configurer des tests de charge pour utiliser les types de réseau suivants :
Réseau local (valeur par défaut, ne s'applique pas à cette rubrique de résolution de problèmes)
3G
Câble DSL 1,5 Mbits/s
Câble DSL 768 k
Câble DSL 384 k
CDMA
Accès réseau à distance 56 k
WAN lent intercontinental 300 Kbits/s
WAN intercontinental de 1,5 Mbit/s
WAN intracontinental de 1,5 Mbit/s
Pour plus d'informations, consultez Comment : créer une nouvelle combinaison de réseaux dans l'Assistant Nouveau test de charge et Spécification de types de réseaux virtuels dans un scénario de test de charge.
Émulation de réseau véritable
Microsoft Visual Studio 2010 utilise une émulation de réseau véritable basée sur un logiciel pour tous les types de tests, notamment les tests de charge. L'émulation de réseau véritable simule les conditions d'un réseau par manipulation directe des paquets réseau. L'émulateur de réseau véritable peut émuler le comportement des réseaux avec et sans fil en utilisant un lien physique fiable, par exemple Ethernet. Les attributs de réseau suivants sont incorporés dans une émulation de réseau véritable :
Délai aller-retour sur le réseau (latence)
Bande passante disponible
Comportement de mise en file d'attente
Perte de paquets
Réorganisation des paquets
Propagations des erreurs
L'émulation de réseau véritable fournit également la flexibilité nécessaire au filtrage des paquets réseau selon les adresses IP ou en fonction des protocoles tels que TCP, UDP et ICMP.
L'émulation de réseau véritable peut être utilisée par les testeurs et les développeurs réseau pour émuler un environnement de test souhaité, évaluer les performances, prévoir l'impact des modifications ou prendre des décisions en matière d'optimisation de technologie. En comparaison des bancs d'essais matériels, l'émulation de réseau véritable est une solution bien plus économique et plus flexible.
Comment fonctionne l'émulation réseau dans les tests de charge
Pour utiliser l'émulation de réseau dans les tests de charge, Microsoft Visual Studio 2010 Ultimate doit être installé. L'émulation de réseau est configurée à l'aide de la boîte de dialogue Modifier la combinaison de réseaux. Elle est accessible via l'Assistant Nouveau test de charge ou en cliquant avec le bouton droit sur un scénario existant dans un test de charge et en cliquant ensuite sur Modifier la combinaison de réseaux.
Lorsque vous démarrez un test de charge, il alloue une plage de ports disponibles pour chaque profil réseau que vous avez sélectionné dans votre combinaison de réseaux, par exemple, DSL et Modem 56 Kbits/s. Cette plage de ports est disponible pour le pilote d'émulation de réseau activé au moment de l'exécution (par défaut, le pilote d'émulation de réseau est désactivé).
Pendant le test de charge, lorsque le générateur de charge envoie une requête à l'application testée, il spécifie un port dans la plage de ports. Lorsque le pilote d'émulation de réseau détecte ce port dans la plage de ports sélectionnée, il peut associer ce port au profil réseau que cette requête doit suivre. Cela permet au pilote de limiter la charge dans le logiciel pour s'assurer qu'il respecte le profil réseau que vous avez sélectionné.
Comment savoir si l'émulation de réseau ne fonctionne pas
Souvent, le symptôme que vous rencontrez dans le journal sont les exceptions de socket des enregistrements du tests de charge, comme suit :
"The requested address is not valid in its context xx.xx.xx.xxx:80"
Notes
D'autres conditions peuvent également être à l'origine de ces exceptions de socket. Le test de charge peut continuer à fonctionner, mais les exceptions de socket sont enregistrées. La section suivante vous permet d'isoler et de résoudre le problème.
Comment dépanner l'émulation de réseau
Pour isoler et résoudre des problèmes efficacement, vous devez vous assurer que vous avez réalisé les tests de base.
Vérifiez que vous avez une connectivité complète au réseau sur tous les ordinateurs qui font partie de votre test de charge.
Assurez-vous que vous avez configuré correctement l'émulation de réseau en suivant les instructions et en vérifiant que les droits d'administrateur sont disponibles pour l'agent de test.
Vérifie si tous les pare-feu sont désactivés lorsque vous dépannez un problème pour vous assurer qu'un pare-feu ne bloque pas certains ports ou le trafic sur le réseau.
Assurez-vous qu'aucun logiciel anti-virus sur l'ordinateur du générateur de charge ne bloque ce logiciel.
Pour savoir si le problème est lié au pilote d'émulation de réseau ou aux composants du test de charge, procédez comme suit :
Éliminez le pilote d'émulation de réseau comme étant à l'origine du problème :
Exécutez le test de charge avec l'émulation de réseau configurée correctement, même si vous rencontrez des exceptions de socket.
Testez la ligne (ping) avec un autre hôte pour confirmer si la sortie présente un ralentissement du réseau et/ou une latence plus élevée. Vérifiez si la valeur du délai correspond au profil de réseau sélectionné. Si les valeurs de latence correspondent au profil que vous avez sélectionné, le pilote réseau fonctionne bien.
À partir de cet ordinateur d'agent de test sur lequel vous exécutez le test de charge, testez la connexion avec un hôte extérieur, tel que votre page Web favorite. Ce test vérifie que, lorsque le test de charge est en cours d'exécution et que le pilote réseau est activé, la connectivité externe ou de laboratoire n'est pas un problème. Cela éliminera votre pilote d'émulation de réseau comme un possible problème.
Éliminez les composants du test de charge comme une possible cause :
Vous pouvez télécharger et exécuter Sendrequests.exe sur le même ordinateur que le générateur de charge (ordinateur de l'agent de test). Sendrequests.exe est un exemple de programme permettant de dépanner des exceptions de socket pendant des tests de charge de l'émulation de réseau.
Avertissement
Le programme Sendrequests.exe n'est pas pris en charge par Microsoft.
Cet exemple de programme simule l'ensemble précis des appels de la connexion du socket utilisés dans les composants du test de charge. Si ce programme de test affiche également des exceptions de socket, ce qui élimine le produit du test de charge comme possible cause des exceptions de socket. Les exceptions de socket indiquent également que le problème se produit dans l'environnement, l'ordinateur, le réseau ou à l'extérieur des outils.
Déboguez d'abord le problème externe avant d'essayer de réexécuter le test de charge.
Si cet exemple de programme fonctionne correctement, le résultat produit est indiqué dans l'illustration suivante. Cela confirme qu'un problème s'est probablement produit dans le programme du test de charge et que l'environnement n'est pas à l'origine du problème.
Sortie réussie de Sendrequests.exe
IPSEC non compatible avec l'émulation de réseau
Si IPSEC est activé, les ports dans le paquet réseau sont chiffrés. Par conséquent, le pilote d'émulation de réseau ne sera pas en mesure de déterminer que les paquets sont issus de la plage de ports désignée comme défini par le moteur de test de charge décrit précédemment dans Comment fonctionne l'émulation réseau dans les tests de charge. Vous devez désactiver IPSEC pour que l'émulation de réseau fonctionne.
Voir aussi
Tâches
Comment : configurer l'émulation réseau à l'aide de paramètres de test
Comment : ajouter des réseaux à l'aide de l'éditeur de test de charge
Autres ressources
Dépannage des tests de charge et des tests de performances de site Web
Comment : créer un paramètre de test pour un test de charge distribué
Spécification de types de réseaux virtuels dans un scénario de test de charge