Тестирование IIS с помощью WCat

Не давно я столкнулся с такой задачей, нужно было подобрать конфигурацию сервера для одного веб сервиса, который написан на ASP.NET и будет работать на IIS 7, к тому же сервис хранил все данные в базе MS SQL. Веб сервис должен выдерживать определенное кол-вод пользователе в течении дня. Я сразу понял, что без нагрузочных тестов будет тяжело понять какое железо нужно для проекта.

Для решения данной задачи очень хорошо подошла программа WCat, написанная самими разработчиками IIS. Она позволяет создать нужную нагрузку на сервер IIS.
Программу можно скачать с сайта www.iis.net, доступны два варианта, для 32-х и 64-х разрядной системы.
В установленных файлах WCat прилагается документация в которой подробно расписан её принцип работы, поэтому я опишу не большую инструкцию для быстрого старта, которая позволит проверить быстро ваш сервер IIS.
WCat состоит из двух модулей, контроллера и клиента. Модуль «клиент» совершает запросы к серверу IIS, а модуль «контроллер» управляет всеми компьютерами на которых установлен модуль клиент. В нашем случае оба модуля будут установлены на одном компьютере.
После установки программы вам нужно будет скопировать папку wcat (она будет располагаться в C:\Program Files\) в папку %SystemRoot% (c:\windows), для того чтобы обеспечить доступность программы через сетевой адрес \\localhost\admin$\wcat.
Далее открываем командную строку от имени администратора и командой cd переходим в папку, где установлена программа wcat, после этого выполняем команды:

Если выполнению команды мешает ошибка: error: must specify at least one of the following parameters, то нужно её исправить таким способом:

В файле wcat.wsf нужно найти строку:

И теперь нужно запускать команду так:

К слову сказать, у меня так и вышло, поэтому в дальнейшем я запускал команды указывая параметры через слеш, а не через дефис.

После выполнения этой команды ваш компьютер перезагрузится, поэтому перед выполнение этой команды закройте все программы и сохраните открытые документы.
Далее вам нужно будет создать два файла и положить их C:\Program Files\wcat. Первый файл назовем testsettings.wcat в нем будет содержаться информация о имени сервера, куда подключаться и количество виртуальных клиентов, который будут подключаться к тестируемому серверу.

Второй файл будет содержать запросы к сайту. Его можно сделать в ручную, а можно с помощью программы Fiddler. Эта программа просматривает ваш трафик HTTP(S) и выводит его на экран. Вам достаточно открыть программу, полазить по тестируемому сайту через браузер и выделив в программе fiddler запросы к вашему сайту сохранить их в формате для программы wcat, через меню File -> Export Sessions -> Selected Sessions… Второй файл назовем test.wcat.

Далее открываем командную строку от имени администратора, переходим в папку, где установлен wcat и выполняем команду cscript //H:cscript, потом основную команду:

И смотрим как ведет наш веб сервер IIS. В период тестирования можно так же заходить на сайт через браузер и визуально оценивать как большая нагрузка влияет на скорость его работы.

После выполнения тестирования у вас в папке C:\Program Files\wcat появится два файла report.xml и report.xsl. Открыв файл report.xml в браузере IE можно посмотреть отчет выполнения теста. В большинстве случаев вы можете увидеть не понятный набор цифр и букв, т.к. не срабатывает xsl шаблон. Решение этой проблемы можно поискать на просторах сети и вы можете найти например такое решение, но мне немного помогли подправить шаблон xsl и теперь отчеты всегда отображаются правильно. Вы можете скачать этот шаблон report с моего сайта и тоже использовать его в работе.

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">