我正在使用IIS 7并在端口43xxx上部署了一个网站。我正在尝试使用wcat进行负载测试。我正在尝试访问URL / directaccess /,它将返回状态代码302,重定向到另一个URL - 谁也将返回302状态代码,之后最后一个URL将返回200OK。
我已经为wcat编写了场景和设置文件。在默认情况下指定(并且也按尝试尝试)将端口设置为43xxx,但是当我运行wcat时它返回一个302 ok和另外400个错误(它们以相同的数字返回,所以我猜第一个请求是正常的,后续(第一次重定向)很糟糕。
我还查看了HTTPErr文件夹来检查日志,那里有很多400错误,表明GET请求应该是第二个URL,但是在端口80上完成,而不是在我指定的43xxx请求(或默认设置 - 如果我从文档中很好地理解它在重定向中继承)。
我想知道这对wcat是否是“正常”行为。不跟随初始请求在同一端口上重定向。
忽略我在本地机器上测试的事实。在将它们移动到另一台机器之前,我只使用它来设置测试。
这是使用的场景。
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;
}
}
}
答案 0 :(得分:2)
我想这取决于服务器在302重定向的 Location 标头中发回的内容。如果它不包含域名(例如 Location:/ redirect / to / page ),则WCAT不应更改域名或端口号并继续使用相同的端口号。但是,如果 Location 标头包含没有端口号的完整域名(例如 Location:http://www.thissite.com/redirect/to/page ),则WCAT将切换为使用端口80。