Стресс-тестирование ASP.NET/IIS с WCAT - PullRequest
8 голосов
/ 22 сентября 2008

Я пытаюсь настроить стресс / нагрузочный тест с помощью инструментария WCAT, включенного в ресурсы IIS.

Используя 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

Когда клиент выполняется, я получаю эту ошибку: main client thread Connect Attempt 0 Failed. Error = 10061

Кто-нибудь в этом мире когда-либо использовал WCAT?

Ответы [ 7 ]

2 голосов
/ 10 февраля 2009

У меня был хороший успех с WCAT, хотя я борюсь с симуляцией NTLM-соединений.

Я использую 6.3, поэтому мои конфигурационные файлы выглядят очень отличающимися от ваших. Некоторые ошибки, которые я заметил по пути:
+ Убедитесь, что у вас отключен брандмауэр или пробиты отверстия для WMI.
+ Каждая вещь, которую вы устанавливаете в заголовке запроса, оказывает огромное влияние на пропускную способность. У яблок на яблоках должны быть одинаковые заголовки запроса.
+ Удаленные вызовы с несколькими клиентами работают только после исправления ошибки, выявленной sthorogood.

Как только я преодолел эти препятствия, я получил отличные результаты от WCAT. Он тестирует быстро, многократно и агрессивно.

Удачи,

Kevin

2 голосов
/ 26 ноября 2008

Я только начал оценивать wcat 6.3, и я боюсь, что мой опыт немного разочаровывает с точки зрения онлайн поддержки / сообщества.

В скрипте wcat.wsf также есть серьезная ошибка - см .:

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

Сейчас я борюсь за то, чтобы заставить работать счетчик производительности.

2 голосов
/ 27 октября 2008

Я бы посмотрел на обновление до WCat 6.3 - доступно здесь для x86 и здесь для x64

Они изменили структуру файла настроек / сценариев, что немного болезненно, но должно соответствовать вашим потребностям.

0 голосов
/ 09 апреля 2010

для счетчика производительности вы можете определить -p .prf в той же команде, запущенной для контроллера, как: wcctl -c config.txt -d distribution.txt -s script.txt -a localhost - p performance.prf

0 голосов
/ 22 сентября 2008

Рассматривали ли вы инструмент для веб-приложений Microsoft Stress Tool ?

0 голосов
/ 22 сентября 2008

OpenSTA и JMeter очень похожи на Apache. Я использую IIS на Windows Server 2003.

0 голосов
/ 22 сентября 2008

У меня нет ответа для вас, но рассматривали ли вы возможность использования других инструментов для тестирования? Инструменты WCAT довольно ограничены и сложны в использовании.

OpenSTA и JMeter - хорошие инструменты с открытым исходным кодом для тестирования нагрузки / стресса / производительности.

...