Тестирование производительности на VSTS - PullRequest
1 голос
/ 24 мая 2011

Я пытаюсь выяснить механизм набора тестов производительности У нас есть в VSTS 2010. В настоящее время у меня есть пара модульных тестов, которые мне нужны для симуляции под нагрузкой 60-70 req / sec , в которой я не уверен, как это сделать. Мне нужно иметь возможность рассчитать время туда-обратно , которое потребовалось для каждого запроса. В настоящее время я не уверен, как это сделать. это я попытался создать нагрузочный тест и запустить тест, но такие вещи, как:

  1. Сделки / сек
  2. Avg. Время транзакции (сек)
  3. Страницы / сек
  4. Avg. Время страницы (сек)
  5. Просьбы / сек
  6. Сбой запросов
  7. Процент кэшированных запросов
  8. Avg. Время отклика (сек)

для общих результатов не заполняется , когда я закончу с результатом. Система, которую я тестирую, является службой отдыха WCF, и у меня есть несколько tc, которые генерируют запрос и вызывают ресурс . Любые подсказки и указания приветствуются!

Ответы [ 4 ]

1 голос
/ 24 мая 2011

Звучит так, будто вы на правильном пути, но вы могли пропустить любое количество вещей. Вот краткий контрольный список:

  1. Убедитесь, что ваши тесты работают правильно и успешно.
    • Убедитесь, что ваша конфигурация WCF правильный.
    • Убедитесь, что все строки подключения указаны правильно.
  2. Убедитесь, что вы добавили модульные тесты в нагрузочный тест. Мастер нагрузочного тестирования довольно прост и интуитивно понятен для настройки базового нагрузочного теста.
  3. Убедитесь, что в нагрузочном тесте запущено несколько пользователей (т. Е. У вас нет 0 пользователей). Существует несколько различных «типов тестов», которые вы можете запустить, и в зависимости от выбранного вами типа конфигурация будет отличаться.
  4. Убедитесь, что нагрузочный тест запущен. Под этим я подразумеваю проверку, чтобы убедиться, что служба работает и работа выполняется. (например, проверить обновляемую базу данных или записать что-либо в файл и т. д.)

Эта ссылка может помочь (http://visualstudiomagazine.com/articles/2010/07/08/load-testing-with-visual-studio-2010.aspx), хотя я ожидаю, что вы уже пробовали Google.

Одна вещь, которую я заметил, заключается в том, что часто бывает полезно, чтобы тесты спали в течение короткого периода времени. например Мне было трудно с 2 пользователями, каждый из которых выполнял 50 тестов в секунду, но больше успеха с 100 пользователями, каждый из которых выполняется один раз, а затем спит секунду. Та же пропускная способность, но по какой-то причине испытательная установка выдержала лучше.

0 голосов
/ 05 февраля 2018

Я уверен, что вы могли бы получить ответ на этот вопрос до сих пор. Но я публикую этот ответ для более широкого сообщества. Так как я тоже сталкивался с подобными проблемами.

Вопрос: Как получить подробные данные о времени отклика транзакций. Так как Visual Studio не предоставляет детали транзакции для нагрузочных тестов с юнит-тестами? Ссылаясь на ваш вопрос 1-2.
-> Существует метод TestContext.BeginTimer в C #. Если вы используете это во время вашего фактического вызова WCF, подробности об уровне транзакции будут видны в результатах. Таким образом, вы можете создать время поездки туда и обратно.

Вопрос: Вы хотите генерировать нагрузку со скоростью около 60-70 рэк / сек. Как это сделать?
-> Как вы, возможно, знаете, в visual studio есть три схемы загрузки.
1. постоянная нагрузка
2. ступенчатая схема загрузки
3. Модель нагрузки на основе целей

вы можете использовать шаблон загрузки на основе целей, в котором вам нужно применять транзакциюname и цель в терминах транзакций / сек. В этом случае вы можете применить 60 и 70. Visual Studio будет увеличивать или уменьшать пользовательскую нагрузку в зависимости от транзакции в секунду и пытаться оставаться на определенном уровне нагрузки. Надеюсь, это поможет.

0 голосов
/ 10 января 2018

В случае тестирования производительности VSTS, когда мы создаем модульный тест и выполняем его с помощью LoadTest с использованием контроллеров и агентов, он не будет предоставлять такую ​​информацию, как транзакции / сек.Время транзакции (сек) Страниц / сек.Время страницы (с) Запросы / сек. Запросы Неудачные запросы. Кэшированный процент. Ср.Время отклика (сек)

, поскольку это не веб-страница, для которой мы проводим тестирование производительности, здесь мы создали модульный тест, который использует открытые методы веб-сервисов.это покажет вам только статистику, как Avg.Время теста, Пороговые колебания, итоговые тесты в Trend-отчете.дайте мне знать, если потребуется дополнительная информация.

0 голосов
/ 26 мая 2014

Я думаю, что многие элементы в списке предоставляются только в тестах производительности Visual Studio, а не в модульных тестах.Нагрузочные тесты предназначены для использования веб-тестов производительности, но они также могут вызывать модульные тесты и кодированные тесты пользовательского интерфейса.

Чтобы получить требуемые измерения производительности, можно создать веб-тест производительности.Запись такого теста в Visual Studio может быть возможна, если у вас есть веб-страница, предоставляющая доступ к службе WCF.Я не пробовал этот маршрут.

Вы сможете создавать тесты служб WCF, создавая их запросы.Сначала создайте пустой веб-тест производительности, затем используйте «Вставить запрос веб-службы» из контекстного меню или значков.См. Как: создать тест веб-службы для получения дополнительной информации об этом.Программу Fiddler2 также можно использовать для записи вызова службы WCF, которую можно экспортировать для создания веб-теста производительности.

...