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

Этот раздел применим к:

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional 

Visual Studio Express

Тема применяется Тема не применяется Тема не применяется Тема не применяется

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Тестовый контроллер

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

Test Agent

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

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

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

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

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

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

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

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

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

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

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

Ограничения и лицензирование виртуальных пользователей

Visual Studio Ultimate позволяет использовать до 250 виртуальных пользователей при локальном выполнении нагрузочного теста. Если для нагрузочного теста требуется больше виртуальных пользователей или если требуется использовать удаленный компьютер, необходимо приобрести Visual Studio Load Test Virtual User Pack 2010. Visual Studio Load Test Virtual User Pack 2010 можно купить там же, где была совершена покупка Visual Studio Ultimate. Дополнительные сведения см. в разделе Управление лицензиями виртуальных пользователей для нагрузочного тестирования с помощью контроллера тестирования и Настройка контроллеров и агентов тестирования для нагрузочного тестирования.

Примечание

Пакет дополнительных компонентов Visual Studio 2010 Load Test Feature Pack предоставляет активным пользователям Microsoft Visual Studio Ultimate 2010 с подпиской MSDN уникальный лицензионный ключ для Visual Studio Load Test Virtual User Pack 2010 для создания неограниченного числа виртуальных пользователей.

Чтобы загрузить пакет дополнительных компонентов, доступный только подписчикам MSDN, посетите сайт MSDN Subscribers Downloads.Дополнительные сведения о пакете дополнительных компонентов см. в разделе Пакет дополнительных компонентов нагрузочного тестирования Microsoft Visual Studio 2010.

Примечание

Лицензии Visual Studio Load Test Virtual User Pack 2010 используют многопроцессорную архитектуру, что позволяет устанавливать их на компьютер с несколькими процессорами.

Ниже указано разрешенное число виртуальных пользователей при локальном или удаленном запуске тестов.

  • Локальный запуск нагрузочного теста без установленного пакета Visual Studio Load Test Virtual User Pack 2010. Если используется Visual Studio Ultimate без установленного на локальном компьютере пакета Visual Studio Load Test Virtual User Pack 2010, число пользователей не может превышать 250. Кроме того, на локальном компьютере может использоваться не более одного ядра клиентского ЦП.

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

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

  • Локальный запуск нагрузочного теста с установленным пакетом Visual Studio Load Test Virtual User Pack 2010. Если используется Visual Studio Ultimate с установленным на локальном компьютере пакетом Visual Studio Load Test Virtual User Pack 2010, можно запускать нагрузочные тесты с максимальным числом виртуальных пользователей, для которых были приобретены лицензии.

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

    Примечание

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

    Применение пакета Visual Studio Load Test Virtual User Pack 2010 в сценарии без контроллера тестирования имеет дополнительное преимущество, поскольку в этом случае можно разблокировать для использования все процессоры компьютера. Без пакета Visual Studio Load Test Virtual User Pack 2010 на локальном компьютере можно использовать только первый процессор. После добавления пакета Visual Studio Load Test Virtual User Pack 2010 при выполнении загрузочных тестов могут задействоваться все процессоры компьютера.

  • Удаленный запуск нагрузочных тестов с установленным пакетом Visual Studio Load Test Virtual User Pack 2010 с использованием контроллера и агентов. Если используется Visual Studio Ultimate, а также установлены контроллер тестирования и один или несколько агентов тестирования с необходимым пакетом Visual Studio Load Test Virtual User Pack 2010, можно запускать удаленные нагрузочные тесты с максимальным числом виртуальных пользователей, для которых были приобретены лицензии.

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

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

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

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

    Примечание

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

Добавление лицензионных ключей Visual Studio Load Test Virtual User Pack 2010

Средство настройки Microsoft Visual Studio Test Controller 2010 позволяет устанавливать лицензионные ключи Visual Studio Load Test Virtual User Pack 2010. Дополнительные сведения см. в разделе Практическое руководство. Добавление лицензионных ключей виртуальных пользователей для нагрузочного тестирования.

Лицензионные ключи Visual Studio Load Test Virtual User Pack 2010 можно добавить из командной строки с помощью программы TestControllerConfig.exe или VSTestConfig.exe. Дополнительные сведения см. в разделе Практическое руководство. Добавление лицензионных ключей виртуальных пользователей для нагрузочного тестирования с помощью командной строки.

Лицензионные ключи Visual Studio Load Test Virtual User Pack 2010 применяются на уровне компьютеров. Поэтому, если на одном компьютере установлена среда Visual Studio Ultimate с числом пользователей, превышающим 250, и контроллер тестирования, необходимо вводить лицензионные ключи на этом компьютере только один раз, чтобы включить использование виртуальных пользователей в обоих компонентах.

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

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

См. также

Задачи

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

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

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

Тестирование производительности приложения и его устойчивости к нагрузкам

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

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

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

Практическое руководство. Добавление лицензионных ключей виртуальных пользователей для нагрузочного тестирования

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

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

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