2010-06-05 7 views
0

Au début, je dois le faire en tant que projet universitaire, donc je ne suis pas intéressé par l'utilisation d'outils existants. Je voudrais savoir s'il est même possible d'écrire un outil très simple que je pourrais utiliser pour tester les performances des applications web. Il enregistrerait seulement des actions (je ne sais pas, peut-être juste le reniflement de paquet?) Et ensuite rejouer. Cependant, j'ai une idée de base (enregistrer les paquets sur le port 80 et les envoyer à nouveau), je ne sais pas comment mesurer le temps pour chaque transaction car ils ne sont pas différenciés. Toute aide est grandement appréciée, merci!Outil de test de performance simple en C#?

Répondre

0

Edité (comme l'outil doit être écrit à partir de zéro):

Utilisez JMeter (http://jmeter.apache.org/) comme référence et générez un proxy pour intercepter toutes les requêtes HTTP.

Voir How to create a simple proxy in C#? pour ce sujet en C#.

+0

BTW - nous utilisons ASP.NET/C# sur le serveur - mais encore jmeter était le meilleur outil pour faire le travail (gratuitement). – bertelmonster2k

+0

Désolé mais je suis askin comment faire cela (indiqué dans la première phrase de mon post :), je suis familier avec LoadRunner mais toujours .. besoin d'écrire le mien comme un projet universitaire – Thomas

+0

Eh bien, JMeter vous montre comment le faire : Utilisez un serveur proxy pour intercepter les demandes. Voir http://stackoverflow.com/questions/226784/how-to-create-a-simple-proxy-in-c montre comment écrire un proxy en C#. – bertelmonster2k

0

Jetez un coup d'oeil à Fiddler - un petit Webproxy local de débogage.

Vous pouvez enregistrer des demandes Web, les rééditer et mesurer les performances de votre serveur Web. Il est également possible de les enregistrer sur le disque, chargez-les - et les rééditer à nouveau ...

http://www.fiddler2.com/fiddler2/

[modifier] Regardez la vidéo de la présentation à MIX10 ici: http://live.visitmix.com/MIX10/Sessions/FT50

+0

Merci! Existe-t-il un moyen d'enregistrer WebRequests à l'exception de sniffering de bas niveau? – Thomas

+0

Je pense, surtout avec ASP.NET, que vous pouvez aussi utiliser des modules HTTP ou des gestionnaires HTPP. Spécialement pour les mesures de performance, vous pouvez opter pour un module HTTP. L'inconvénient est qu'il n'est pas vraiment transparent (en tant que proxy externe ou renifleur de paquets) - vous devez au moins toucher la configuration de l'application web pour activer votre module ou gestionnaire. – spookycoder