Поделиться через


Настройка контроллеров и агентов тестирования для нагрузочного тестирования

Visual Studio Enterprise может использовать физические компьютеры или виртуальные машины для создания симулированной нагрузки для приложения. Эти машины должны быть установлены как единый тестовый контроллер и один или несколько тестовых агентов. Контроллер тестирования и агенты тестирования можно использовать для создания нагрузки большей, чем способен создать отдельный компьютер.

Не хотите использовать ресурсы и настраивать собственные компьютеры для создания этой нагрузки? Облачное нагрузочное тестирование можно использовать для предоставления виртуальных машин в облаке, которые создают нагрузку при одновременном доступе большого числа пользователей к веб-сайту. Все, что вам потребуется, — Учетная запись Visual Studio Online. Дополнительную информацию см. в облачная служба тестирования нагрузки, которая предоставляет 15 000 бесплатных пользовательских минут тестирования нагрузки каждый месяц.

Если есть необходимость протестировать под нагрузкой приложение при помощи локальных ресурсов, следуйте инструкциям, приведенным в данном разделе.

Требования

  • Visual Studio Enterprise

Архитектура моделирования нагрузки

Архитектура моделирования нагрузки состоит из клиента Visual Studio, контроллера тестирования и агентов тестирования.

  • Клиент используется для разработки тестов, выполнения тестов и просмотра их результатов.

  • Контроллер используется для управления агентами и сбора результатов тестирования.

  • Агенты тестирования служат для выполнения тестов и сбора данных, включая сведения о системе и данные профилирования ASP.NET, определенные в параметре тестирования.

Данная архитектура обеспечивает следующие преимущества.

  • Возможность масштабирования создаваемой нагрузки путем добавления агентов к контроллеру.

  • Гибкость в установке программного обеспечения клиента, контроллера тестирования и агентов тестирования на одном или разных компьютерах. Пример:

    Локальная конфигурация:

    • Компьютер 1: Visual Studio, контроллер, агент

    Локальный компьютер, использующий контроллер и агент

    Типичная удаленная конфигурация:

    • Компьютер 1 и компьютер 2: Visual Studio (один контроллер может использоваться несколькими тест-инженерами).

    • Компьютер 3: контроллер (на нем могут также быть установлены агенты).

    • Компьютеры 4–n: агент или агенты, все связанные с контроллером на компьютере 3.

    Удаленные компьютеры, использующие контроллер и агенты

Контроллер обычно управляет несколькими агентами тестирования, однако агент может быть связан только с одним контроллером. Каждый агент может совместно использоваться группой разработчиков. Такая архитектура позволяет с легкостью увеличивать число агентов, создавая тем самым более значительные нагрузки.

Взаимодействие Test Agent и тестового контроллера

Контроллер управляет набором агентов в ходе выполнения тестов. Контроллер взаимодействует с агентами с целью запуска и останова тестов, отслеживания состояния агентов и сбора результатов теста.

ms243155.collapse_all(ru-ru,VS.140).gifТестовый контроллер

Контроллер обеспечивает базовую архитектуру выполнения тестов и включает специальные функции выполнения нагрузочных тестов. Контроллер пересылает нагрузочный тест всем агентам и ожидает, когда тест будет инициализирован всеми агентами. Когда агенты готовы, контроллер передает им команду на запуск теста.

ms243155.collapse_all(ru-ru,VS.140).gifTest Agent

Агент тестирования выполняется как служба, прослушивающая запросы от контроллера на выполнение нового теста. Когда агент тестирования получает запрос, служба агента запускает процесс, в котором будут выполняться тесты. Все агенты выполняют один и тот же нагрузочный тест.

Администратор назначает агентам весовые коэффициенты, в соответствии с которыми распределяется нагрузка. Например, если агент тестирования 1 имеет весовой коэффициент 30, а агент 2 — весовой коэффициент 70, в то время как нагрузка устанавливается равной 1000 пользователей, агент 1 будет моделировать работу 300 виртуальных пользователей, а агент 2 — 700 виртуальных пользователей. См. раздел Управление контроллерами и агентами тестирования с помощью Visual Studio.

Агент принимает набор тестов и набор параметров моделирования в качестве входных данных. Ключевым принципом является независимость тестов от компьютера, на котором они выполняются.

Точки подключения контроллера тестирования и агентов тестирования

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

Порты и безопасность контроллера и агента тестирования

Дополнительные сведения см. в разделе Настройка портов для контроллеров и агентов тестирования.

Сведения об установке контроллеров тестирования и агентов тестирования

Ключевые сведения о требованиях контроллеров и агентов тестирования к оборудованию и программному обеспечению, а также об их установке и настройке среды тестирования для достижения оптимальной производительности см. в разделах Установка и настройка контроллеров и агентов тестирования и Требования к контроллерам и агентам тестирования для нагрузочного тестирования.

Использование контроллера и агентов тестирования в модульных тестах

После установки контроллера тестирования и одного или нескольких агентов можно указать, будет ли в нагрузочных тестах использоваться удаленное выполнение с помощью контроллера тестирования. Кроме того, можно задать адаптеры данных и диагностики для использования с ролью, связанной с агентами, в параметре тестирования. Дополнительные сведения см. в разделах Практическое руководство. Создание параметра тестирования для распределенного нагрузочного теста и Настройка компьютеров и сбор диагностических данных с помощью параметров тестирования.

См. также

Задачи

[удалено] Практическое руководство. Выполнение нагрузочного теста с помощью контроллеров тестирования и агентов тестирования, заданных в параметрах тестирования

Практическое руководство. Выполнение теста с помощью контроллеров тестирования и агентов тестирования

Пошаговое руководство. Использование контроллера тестирования и агентов тестирования в нагрузочном тесте

Практическое руководство. Создание параметра тестирования для распределенного нагрузочного теста

Практическое руководство. Обращение к результатам нагрузочного теста для их анализа

Основные понятия

[удалено] Веб-тесты производительности и нагрузочные тесты в Visual Studio

Требования к контроллерам и агентам тестирования для нагрузочного тестирования

Другие ресурсы

Запуск веб-тестов производительности и нагрузочных тестов