2

我在 Windows Server 2008 Std 上对 IIS 7 的 WCAT 6.4 进行初始测试/配置时遇到问题。我们对 WCAT 还很陌生,所以这可能是一个相当幼稚的问题。

我们正在测试一个预计不会有大量流量的 Web 应用程序,我正在尝试实现一个 WCAT 场景,在该场景中我们限制请求数量并逐渐增加吞吐量以对 Web 应用程序进行基准测试。给定的脚本每秒产生大约 500 个请求,我们正试图开始比这更小!

阅读 WCAT 文档,似乎在场景文件中包含“throttle”属性是实现此目的的正确方法,但每当我尝试这样做时,我都会收到“收到无效代码”消息。我正在使用 WCAT 附带的预制样本测试脚本的(非常微调的)版本,只要我不包含“节流”元素,它们似乎就可以正常工作。(命令行和下面的“home.ubr”脚本)

通过在命令行语法中包含“-throttlerps”参数,我已经能够对每秒请求进行一些限制,但在让场景文件选项工作时仍然存在问题。命令行语法:

<directory>\wcat.wsf -terminate -run -clients localhost -t samples\scripts\home.ubr -f samples\scripts\settings.ubr -s localhost -throttlerps 1

和场景文件:

scenario
{
name    = "IIS Home Page";

warmup      = 10;
duration    = 20;
cooldown    = 10;
//throttle  = 10;  //HERE is what throws an error!

/////////////////////////////////////////////////////////////////
//
// All requests inherit the settings from the default request.
// Defaults are overridden if specified in the request itself.
//
/////////////////////////////////////////////////////////////////
default
{
    // send keep-alive header
    setheader
    {
        name    = "Connection";
        value   = "keep-alive";
    }

    // set the host header
    setheader
    {
        name    = "Host";
        value   = server();
    }

    // HTTP1.1 request
    version     = HTTP11;

    // keep the connection alive after the request
    close       = ka;
}

//
// This script is made for IIS7
//
transaction
{
    id = "Default Web Site Homepage";
    weight = 1;

    request
    {
        url         = "/";
        statuscode  = 200;
    }

    request
    {
        url         = "/welcome.png";
        statuscode  = 200;
    }

    //
    // specifically close the connection after both files are requested
    //
    close
    {
        method      = reset;
    }
}

 transaction
{
    id = "Default Web Site Homepage";
    weight = 1;

    request
    {
        url         = "/";
        statuscode  = 200;
    }

    request
    {
        url         = "/welcome.png";
        statuscode  = 200;
    }

    //
    // specifically close the connection after both files are requested
    //
    close
    {
        method      = reset;
    }
}
}

到目前为止,从谷歌搜索来看,这似乎不是一个常见的问题......任何洞察力将不胜感激。

4

1 回答 1

3

好的,所以找到了答案:WCAT 的文档有一个错字,给定的文件属性被列为“throttle”,但正确的版本是使用“throttlerps”作为场景文件中的元素名称,而不仅仅是“throttle”(到镜像命令行语法)。也许其他人会偶然发现这个......

于 2012-12-02T06:58:26.313 回答