0

我正在使用 IIS 7,并在端口 43xxx 上部署了一个网站。我正在尝试使用 wcat 进行负载测试。我正在尝试访问 URL /directaccess/ ,该 URL 又将返回状态代码 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;
    }
}
}
4

1 回答 1

2

我想这取决于服务器在 302 重定向的Location标头中发回的内容。如果它不包含域名(例如Location: /redirect/to/page),那么 WCAT 不应更改域或端口号并继续使用相同的端口号。但是,如果Location标头包含完整的域名(例如Location: http://www.thissite.com/redirect/to/page)而没有端口号,则 WCAT 将切换到使用端口 80。

于 2011-10-20T20:58:13.403 回答