【问题标题】:wcat follows redirects on port 80 even if default was set on 43xxxwcat 遵循端口 80 上的重定向,即使默认设置为 43xxx
【发布时间】:2011-10-20 08:29:17
【问题描述】:

我正在使用 IIS 7,并且在端口 43xxx 上部署了一个网站。我正在尝试使用 wcat 进行负载测试。我正在尝试访问一个 URL /directaccess/,该 URL 又将返回状态代码 302,重定向到另一个 URL - 谁也将返回 302 状态代码,然后最后一个 URL 将返回 200OK。

我已经为 wcat 编写了场景和设置文件。在默认值中指定(并且也按请求尝试)将端口设置为 43xxx,但是当我运行 wcat 时,它返回一个 302 ok 和另一个 400 错误(它们以相同的数量返回,所以我猜第一个请求是好的,并且随后的(第一次重定向)是错误的)。

我还查看了 HTTPErr 文件夹以检查日志,那里有很多 400 错误,表明 GET 请求应该是第二个 URL,但在端口 80 上完成,而不是我在请求(或默认设置 - 如果我从文档中很好理解,则会在重定向中继承)。

我只是想知道这是否是 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;
    }
}
}

【问题讨论】:

    标签: iis iis-7 load-testing stress-testing wcat


    【解决方案1】:

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

    【讨论】:

    • 那么 JMeter 在相同的设置中运行良好.. 并遵循所有重定向。
    • 我已经使用 WCAT 6.1(不是最新版本)进行了一些测试,并且必须确认您的结果。确实看起来 WCAT 没有正确遵循重定向并将端口更改为 80。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-25
    • 2019-08-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多