我想在我的 Web 应用程序中运行 POST 操作之一的负载测试。问题在于,只有在 POST 数据中接收到唯一的电子邮件地址时,才能完成该操作。我生成了带有数千个请求的 wcat 脚本,每个请求都带有唯一的电子邮件,例如:
transaction
{
id = "1";
weight = 1;
request
{
verb = POST; postdata = "Email=test546546546546%40loadtest.com&...";
setheader { name="Content-Length"; value="...";
}
// more requests like that
}
我的 UBR 设置文件如下:
settings
{
counters
{
interval = 10;
counter = "Processor(_Total)\\% Processor Time";
counter = "Processor(_Total)\\% Privileged Time";
counter = "Processor(_Total)\\% User Time";
counter = "Processor(_Total)\\Interrupts/sec";
}
clientfile = "<above-wcat-script>";
server = "<host name>";
clients = 3;
virtualclients = 100;
}
当我运行测试时,3x100 = 300 个客户端开始发送请求,但它们以相同的顺序发送请求,因此处理来自第一个客户端的第一个请求,然后来自其他客户端的接下来的 299 个请求不再是唯一的。然后处理来自某个客户端的第二个请求,来自其他客户端的 299 个相同请求不是唯一的。我需要一种方法来随机化请求或以不同的顺序运行它们,或者为每个虚拟客户端设置单独的场景脚本,以便每个请求都带有唯一的电子邮件地址。用 WCAT 可以做到这一点吗?
或者也许有其他工具可以做这样的测试?