使用WCAT对ASP.NET/IIS进行压力测试

时间:2020-03-06 14:32:21  来源:igfitidea点击:

我正在尝试使用IIS资源中包含的WCAT工具包来设置压力/负载测试。

使用LogParser,我已经使用配置处理了UBR文件。看起来像这样:

[Configuration]
NumClientMachines:  1        # number of distinct client machines to use
NumClientThreads:     100     # number of threads per machine
AsynchronousWait:     TRUE     # asynchronous wait for think and delay
Duration:             5m      # length of experiment (m = minutes, s = seconds)
MaxRecvBuffer:        8192K      # suggested maximum received buffer
ThinkTime:            0s       # maximum think-time before next request
WarmupTime:           5s      # time to warm up before taking statistics
CooldownTime:         6s      # time to cool down at the end of the experiment 

[Performance]

[Script]
SET RequestHeader = "Accept: */*\r\n"
APP RequestHeader = "Accept-Language: en-us\r\n"
APP RequestHeader = "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705)\r\n"
APP RequestHeader = "Host: %HOST%\r\n"

NEW TRANSACTION
    classId = 1
    NEW REQUEST HTTP
    ResponseStatusCode = 200
    Weight = 45117
    verb = "GET"
    URL = "http://Url1.com" 

NEW TRANSACTION
    classId = 3
    NEW REQUEST HTTP
    ResponseStatusCode = 200
    Weight = 13662
    verb = "GET"
    URL = "http://Url1.com/test.aspx"

看起来还好吗?

我使用以下命令执行控制器:wcctl -z StressTest.ubr -a localhost

客户端是这样执行的:wcclient localhost

执行客户端时,出现以下错误:主客户端线程Connect Attempt 0失败。错误= 10061

这个世界上有人使用过WCAT吗?

解决方案

我没有答案,但是我们是否考虑过使用其他工具进行测试? WCAT工具似乎非常有限且使用起来很复杂。

OpenSTA和JMeter是用于负载/压力/性能测试的优秀开源工具。

OpenSTA和JMeter看起来非常像Apache。我在Windows Server 2003上运行IIS。

我们是否看过Microsoft Web应用程序压力工具?

我将看一下更新到WCat 6.3的信息,这里适用于x86和x64

他们更改了设置/场景文件的结构,这虽然有些麻烦,但应该可以满足需求。

我刚刚开始评估wcat 6.3,但恐怕我的经验在在线支持/社区方面有点令人失望。

wcat.wsf脚本中还有一个主要错误,请参见:

http://forums.iis.net/t/1153312.aspx

我现在正在努力使性能计数器测量工作正常进行。

尽管我在模拟NTLM连接方面遇到了困难,但我在WCAT方面取得了不错的成绩。

我使用的是6.3,因此我的配置文件看起来与配置文件有很大的不同。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。我一路上注意到的一些陷阱:
+确保已关闭防火墙,或者为WMI打通了漏洞。
+我们在请求标头中设置的所有内容都会对吞吐量产生巨大影响。苹果对苹果必须具有相同的请求标头。
+只有更正了sthorogood识别的错误之后,才能与多个客户端进行远程调用。

一旦克服了这些障碍,我就会从WCAT获得出色的成绩。它可以快速,重复和积极地进行测试。

祝你好运

凯文

对于性能计数器,可以在为控制器运行的同一命令中定义-p .prf,如下所示:
wcctl -c config.txt -d distribution.txt -s script.txt -a localhost p performance.prf