2008-09-22 20 views
8

J'essaie de configurer un test de contrainte/charge à l'aide de la boîte à outils WCAT incluse dans les ressources IIS.Stress-testing ASP.NET/IIS avec WCAT

En utilisant LogParser, j'ai traité un fichier UBR avec la configuration. Cela ressemble à ceci:

[Configuration] 
NumClientMachines: 1  # number of distinct client machines to use 
NumClientThreads:  100  # number of threads per machine 
AsynchronousWait:  TRUE  # asynchronous wait for think and delay 
Duration:    5m  # length of experiment (m = minutes, s = seconds) 
MaxRecvBuffer:  8192K  # suggested maximum received buffer 
ThinkTime:   0s  # maximum think-time before next request 
WarmupTime:   5s  # time to warm up before taking statistics 
CooldownTime:   6s  # time to cool down at the end of the experiment 

[Performance] 

[Script] 
SET RequestHeader = "Accept: */*\r\n" 
APP RequestHeader = "Accept-Language: en-us\r\n" 
APP RequestHeader = "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705)\r\n" 
APP RequestHeader = "Host: %HOST%\r\n" 

NEW TRANSACTION 
    classId = 1 
    NEW REQUEST HTTP 
    ResponseStatusCode = 200 
    Weight = 45117 
    verb = "GET" 
    URL = "http://Url1.com" 

NEW TRANSACTION 
    classId = 3 
    NEW REQUEST HTTP 
    ResponseStatusCode = 200 
    Weight = 13662 
    verb = "GET" 
    URL = "http://Url1.com/test.aspx" 

Cela vous semble-t-il correct?

J'exécute le contrôleur avec cette commande: wcctl -z StressTest.ubr -a localhost

Le client (s) est exécuté comme ceci: wcclient localhost

Lorsque le client est exécuté, je reçois cette erreur: main client thread Connect Attempt 0 Failed. Error = 10061

Quelqu'un at-il dans ce monde a jamais utilisé WCAT?

Répondre

0

Je n'ai pas de réponse pour vous, mais avez-vous envisagé d'utiliser d'autres outils pour vos tests? Les outils WCAT semblent assez limités et compliqués à utiliser. OpenTBA et JMeter sont de bons outils open source pour les tests de charge/contrainte/performance. OpenTBA et JMeter ressemble beaucoup à Apache.

0

Je cours IIS sur Windows Server 2003.

+0

J'ai déjà utilisé OpenSTA auparavant, et même si cela fonctionne, il faut que vous soyez connecté à chaque client. J'ai aussi eu quelques problèmes étranges avec l'analyse des scripts que j'ai créés. –

0

Avez-vous regardé le Microsoft Web Application Stress Tool?

+0

Je pense qu'il y a de meilleurs outils que WAST, qui est assez obsolète –

+5

Je cherche de l'aide sur WCAT - pas de suggestions pour d'autres outils ... – MartinHN

+0

Oui je suis d'accord il y a de meilleurs outils, mais le coût est bon. MartinHN - Je m'excuse, la documentation MSDN sur l'outil fournit un aperçu de votre erreur. –

2

Je regarde la mise à jour WCAT 6.3 - disponible here for x86 et here for x64

Ils ont changé les paramètres/fichier scénario strucutures, ce qui est un peu douloureux, mais devrait répondre à vos besoins.

2

Je viens de commencer à évaluer wcat 6.3 et j'ai peur que mon expérience ait été un peu décevante en termes de support/communauté en ligne.

Il y a aussi un bug majeur dans le script wcat.wsf - voir:

http://forums.iis.net/t/1153312.aspx

Je suis maintenant aux prises avec obtenir compteur de performance travail de mesure.

2

J'ai eu un bon succès avec WCAT, même si je suis confronté à la difficulté de simuler des connexions NTLM. J'utilise 6.3, donc mes fichiers de configuration sont très différents des vôtres. Quelques pièges que j'ai notés en cours de route:
+ Assurez-vous que votre pare-feu est éteint ou que des trous ont été percés pour WMI.
+ Chaque élément que vous définissez dans l'en-tête de requête a un impact considérable sur le débit. Les pommes des pommes doivent avoir les mêmes en-têtes de demande.
+ Les appels distants avec plusieurs clients ne fonctionnent qu'après avoir corrigé le bogue identifié par sthorogood.

Une fois que j'ai franchi ces obstacles, j'ai obtenu d'excellents résultats de WCAT. Il teste rapidement, de façon répétée et agressive.

Bonne chance,

Kevin

0

pour compteur de performance, vous pouvez définir .prf -p dans la même série de commandes pour le contrôleur comme: wcctl -c config.txt -d distribution.txt -s script.txt -a localhost -p performance.prf