我正在使用WSF、VBS和JavaScript脚本系统驱动web服务负载测试。负载驱动程序正在我的工作站上运行,向远程应用服务器发送请求。我在用
WScript.StdOut.Write
在驱动程序脚本中写入结果,并在运行测试时将输出重定向到文本文件:
cscript //nologo driver.wsf > test_results.txt
当我使用只有100个事务的“冒烟测试”输入文件时,测试运行得相当快,没有问题。当我使用包含200000个事务的“负载测试”输入文件时,驱动程序的性能会随着时间的推移而下降,以至于运行它的工作站变得没有响应,并使用了85%的页面文件。我的尺寸
test_results.txt
文件刚刚超过43GB。
我怀疑Windows正在将StdOut输出缓存到内存中,而不是将其写入文件;有人有其他的解释或想法吗?将输出作为脚本中的文件系统对象进行管理是否比使用StdOut更好?
更新:
我的驱动程序基本上是这样做的(psuedo代码):
Open input file
Read a record
While not EOF
Encode record
Create SOAP message containing record
Make web service request
Write time to get response to StdOut
Read another record
End While
Close input file