2011-10-20 2 views
0

J'utilise IIS 7 et un site Web est déployé sur le port 43xxx. J'essaie de faire un test de charge en utilisant wcat. J'essaie d'accéder à une URL/directaccess/qui retournera un code d'état de 302, redirigera vers une autre URL - qui retournera aussi un code d'état 302 et ensuite la dernière URL retournera un 200OK.wcat suit les redirections sur le port 80 même si la valeur par défaut a été définie sur 43xxx

J'ai écrit les fichiers de scénario et de paramètres pour wcat. Spécifié dans la valeur par défaut (et également essayé par demande) pour définir le port à 43xxx, mais quand je cours wcat il renvoie un 302 ok et une autre erreur 400 (ils sont renvoyés en nombre égal donc je devine que la première demande est ok , et la suite (première redirection) est mauvaise). J'ai également regardé les logs dans le dossier HTTPErr et il y a beaucoup de 400 erreurs indiquant une requête GET pour ce qui devrait être la 2ème URL mais faite sur le port 80, pas 43xxx comme spécifié par moi dans la demande (ou les paramètres par défaut - qui si je comprends bien des docs sont hérités dans les redirections).

Je voudrais juste savoir si c'est un comportement «normal» pour wcat. Ne pas suivre les redirections sur le même port que la demande initiale. Ignore le fait que je suis en train de tester sur la machine locale.

Je l'ai utilisé uniquement pour configurer les tests avant de les déplacer vers une autre machine.

Ceci est le scénario utilisé.

scenario 
{ 
warmup = 2; 
duration = 5; 
cooldown = 2; 

default 
{ 
    setheader 
    { 
     name = "Connection"; 
     value = "keep-alive"; 
    } 

    version  = HTTP11; 
    statuscode = 200; 
    close  = ka; 
    port = 43111; 
    redirect = true; 
} 

transaction 
{ 
    id = "root transaction"; 
    weight = 100; 

    request 
    { 
     url = "/login/DirectAccess.rails?code=xxxxxxxxx"; 
     statuscode = 302; 
     redirect = true; 
     port = 43111; 
    } 

    sleep 
    { 
     delay = 1000; 
    } 
} 
} 

Répondre

2

Je suppose que cela dépend de ce que le serveur renvoie dans le Localisation en-tête de la redirection 302. Si elle ne contient pas de nom de domaine (par exemple, Location:/redirect/to/page), WCAT ne doit pas modifier le domaine ou le numéro de port et continuer à utiliser le même numéro de port. Cependant, si le Localisation tête contient un nom de domaine complet (par exemple Lieu: http://www.thissite.com/redirect/to/page) sans numéro de port, puis WCAT passe pour utiliser le port 80.

+0

bien JMeter fonctionne très bien dans la même configuration .. et suit tous les redirections – ccriveteanu

+0

J'ai fait un test avec WCAT 6.1 (pas la dernière version) et je dois confirmer vos résultats. Il semble que WCAT ne suit pas correctement les redirections et change le port à 80. –

+0

Ok, merci pour votre temps. Au moins, c'est confirmé. – ccriveteanu

Questions connexes