Я веду нагрузочный тест веб-сервисов, используя систему сценариев WSF, VBS и JavaScript. Драйвер загрузки работает на моей рабочей станции, отправляя запросы на удаленный сервер приложений. Я использую WScript.StdOut.Write
в скрипте драйвера для записи результатов и просто перенаправляю вывод в текстовый файл при запуске теста:
cscript //nologo driver.wsf > test_results.txt
Когда я использую свой входной файл «Дымовой тест», содержащий всего 100 транзакций, тест выполняется довольно быстро и без проблем. Когда я использую свой входной файл «load test», содержащий 200 000 транзакций, производительность драйвера со временем снижается, и рабочая станция, на которой он работает, перестает отвечать и использует 85% файла подкачки. Размер моего test_results.txt
файла был чуть более 43 ГБ.
Я подозреваю, что Windows кэширует вывод StdOut в память, а не записывает его в файл; у кого-нибудь есть альтернативное объяснение или другие идеи? Было бы лучше управлять выводом как объектами файловой системы из моего скрипта, а не использовать StdOut?
UPDATE:
Мой драйвер в основном делает это (код 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