我在 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;
}
}
}
到目前为止,从谷歌搜索来看,这似乎不是一个常见的问题......任何洞察力将不胜感激。