Слайд 2
![Load testing with Visual Studio Enterprise 2015](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393791/slide-1.jpg)
Load testing with Visual Studio Enterprise 2015
Слайд 3
![скачать и установить себе Visual Studio Enterprise 2015 https://cloud.mail.ru/public/LrZG/9vb7QoNjr Создать аккаунт Visual Studio Team Services https://www.visualstudio.com/ru/team-services/](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393791/slide-2.jpg)
скачать и установить себе Visual Studio Enterprise 2015
https://cloud.mail.ru/public/LrZG/9vb7QoNjr
Создать аккаунт Visual Studio
Team Services
https://www.visualstudio.com/ru/team-services/
Слайд 4
![После того, как вы создали бесплатный аккаунт в Visual Studio](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393791/slide-3.jpg)
После того, как вы создали бесплатный аккаунт в Visual Studio Team Services, вам
необходимо создать новый проект, указав название и систему контроля версий, которую вы будете использовать (для этой демонстрации не принципиально, какую выбирать):
Слайд 5
![После этого нам необходимо привязать созданный аккаунт к Visual Studio.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393791/slide-4.jpg)
После этого нам необходимо привязать созданный аккаунт к Visual Studio. Для этого
в Team Explorer в Visual Studio нам нужно ввести параметры соединения к нашему проекту:
Слайд 6
![](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393791/slide-5.jpg)
Слайд 7
![Также необходимо будет добавить нового пользователя в список аккаунтов Visual Studio и ввести пароль:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393791/slide-6.jpg)
Также необходимо будет добавить нового пользователя в список аккаунтов Visual Studio и ввести
пароль:
Слайд 8
![После соединения в окне «Connect to Team Foundation Server» отобразится](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393791/slide-7.jpg)
После соединения в окне «Connect to Team Foundation Server» отобразится список проектов. У нас
он один, его и выбираем:
Слайд 9
![Далее создаем новый проект в Visual Studio. В разделе «Test»](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393791/slide-8.jpg)
Далее создаем новый проект в Visual Studio. В разделе «Test» выбираем «Web performance
and Load Test Project», задаем новое имя проекту:
Слайд 10
![После нажатия на кнопку «ОК» у нас появится новый проект](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393791/slide-9.jpg)
После нажатия на кнопку «ОК» у нас появится новый проект веб теста. Собственно,
сейчас наша задача записать этот веб тест. Для этого в нашем веб тесте жмем кнопку «Add recording»:
Слайд 11
![Откроется веб браузер. Все, что вы будете в нем делать,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393791/slide-10.jpg)
Откроется веб браузер. Все, что вы будете в нем делать, будет записано. Я просто
зашел на главную страничку dou.ua, собственно ее и будем тестировать
Слайд 12
![Возвращаемся в Visual Studio и жмем Stop recording:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393791/slide-11.jpg)
Возвращаемся в Visual Studio и жмем Stop recording:
Слайд 13
![Если после нажатия «Stop recording» ничего не поменялось (в веб](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393791/slide-12.jpg)
Если после нажатия «Stop recording» ничего не поменялось (в веб тесте не появился записанный
url с набором атрибутов), нужно включить аддон в веб браузере «Microsoft Web Test Recorder Helper»:
Слайд 14
![В итоге картина должна быть примерно такая:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393791/slide-13.jpg)
В итоге картина должна быть примерно такая:
Слайд 15
![Все, веб тест записан, теперь его нужно запустить из под](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393791/slide-14.jpg)
Все, веб тест записан, теперь его нужно запустить из под нужного количества
виртуальных пользователей. Для этого в наш проект Visual Studio добавляем Load Test. Клин по проекту нашего веб теста в Solution Explorer -> Add -> Load Test:
Слайд 16
![У нас откроется wizard, который нужно пройти. На первом шаге](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393791/slide-15.jpg)
У нас откроется wizard, который нужно пройти. На первом шаге выбираем «Cloud-based Load
Test with Visual Studio Team Services»:
Слайд 17
![Далее выбираем локацию дата центра, откуда будет генерироваться нагрузка:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393791/slide-16.jpg)
Далее выбираем локацию дата центра, откуда будет генерироваться нагрузка:
Слайд 18
![Далее устанавливаем длительность теста:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393791/slide-17.jpg)
Далее устанавливаем длительность теста:
Слайд 19
![После доходим до «Load Pattern». Выбираем «Step Load». Смысл тут](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393791/slide-18.jpg)
После доходим до «Load Pattern». Выбираем «Step Load». Смысл тут в том, что
есть стабильная нагрузка. Это значит, что нагрузка будет генерировать от заданного количества пользователей на протяжении теста.
Мы же выбираем более интересный сценарий, в камках которого количество одновременных пользователей будет постепенно возрастать по заданному шаблону:
Слайд 20
![](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393791/slide-19.jpg)
Слайд 21
![Как вы догадались, мы нагрузим DOU тысячей одновременных пользователей. Далее](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393791/slide-20.jpg)
Как вы догадались, мы нагрузим DOU тысячей одновременных пользователей.
Далее в Test Mix добавляем наш
веб тест:
Слайд 22
![После этого можем сконфигурировать микс браузеров, после чего жмем Finish. Запускаем нагрузочный тест:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393791/slide-21.jpg)
После этого можем сконфигурировать микс браузеров, после чего жмем Finish. Запускаем
нагрузочный тест:
Слайд 23
![Пройдет какое-то время, и мы начнем видеть графики зависимости времени ответа от количества одновременных пользователей:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393791/slide-22.jpg)
Пройдет какое-то время, и мы начнем видеть графики зависимости времени ответа от количества одновременных
пользователей:
Слайд 24
![По окончанию теста можно загрузить в Visual Studio детальный отчет](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393791/slide-23.jpg)
По окончанию теста можно загрузить в Visual Studio детальный отчет и посмотреть, что происходит.
В данном конкретном случае увидел, что почти сразу начали валится ошибки. Вот статистика по всем ошибкам теста:
Слайд 25
![Интересными являются 503-е ошибки:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393791/slide-24.jpg)
Интересными являются 503-е ошибки:
Слайд 26
![Прелесть в том, что мы можем проанализировать каждую запись отдельно:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393791/slide-25.jpg)
Прелесть в том, что мы можем проанализировать каждую запись отдельно:
Слайд 27
![Подозреваю, что это сработала защита веб сервера, так как с](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393791/slide-26.jpg)
Подозреваю, что это сработала защита веб сервера, так как с одного IP повалило
куча запросов. При этом во время проведения теста я периодически рефрешил страничку у себя в браузере, все было ОК (помним, что нагрузка генерилась из облака).
Детальные отчеты вы можете выгрузить в Excel и проанализировать там. А если у вас есть предыдущие измерения, то Visual Studio умеет анализировать, насколько изменилась производительность с прошлого раза.
Слайд 28
![](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393791/slide-27.jpg)