当前位置:  开发笔记 > 编程语言 > 正文

在Windows(XP/2003)下可以重定向到文件的数据量是否有限制?

如何解决《在Windows(XP/2003)下可以重定向到文件的数据量是否有限制?》经验,为你挑选了1个好方法。

我正在使用WSF,VBS和JavaScript脚本系统来推动Web服务负载测试.加载驱动程序在我的工作站上运行,将请求发送到远程应用程序服务器.我正在使用WScript.StdOut.Write驱动程序脚本来编写结果,并在运行测试时将输出重定向到文本文件:

cscript //nologo driver.wsf > test_results.txt

当我使用仅有100个事务的"冒烟测试"输入文件时,测试运行得相当快,没有问题.当我使用200,000个事务的"负载测试"输入文件时,驱动程序的性能会随着时间的推移而降低,直到它运行的工作站变得无响应并且正在使用85%的页面文件.我的test_results.txt文件大小刚刚超过43GB.

我怀疑Windows正在将StdOut输出缓存到内存而不是将其写入文件; 有没有人有其他解释或其他想法?将输出作为文件系统对象从我的脚本管理而不是使用StdOut会更好吗?

更新:我的驱动程序基本上这样做(伪代码):

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

Jim Mischel.. 6

我非常怀疑问题出在重定向输出上.我经常创建重定向的StdOut文件,其大小为数百兆字节.

更有可能的是,有关编码记录,创建SOAP消息或发出Web服务请求的内容正在泄漏内存.

您可以考虑注释掉将响应时间写入StdOut的行,然后重新运行该程序.如果程序仍然开始减速,那么你已经消除了输出作为原因.



1> Jim Mischel..:

我非常怀疑问题出在重定向输出上.我经常创建重定向的StdOut文件,其大小为数百兆字节.

更有可能的是,有关编码记录,创建SOAP消息或发出Web服务请求的内容正在泄漏内存.

您可以考虑注释掉将响应时间写入StdOut的行,然后重新运行该程序.如果程序仍然开始减速,那么你已经消除了输出作为原因.

推荐阅读
夏晶阳--艺术
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有