Настройка контроллеров и агентов тестирования для нагрузочного тестирования
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 и тестового контроллера
Контроллер управляет набором агентов в ходе выполнения тестов. Контроллер взаимодействует с агентами с целью запуска и останова тестов, отслеживания состояния агентов и сбора результатов теста.
Тестовый контроллер
Контроллер обеспечивает базовую архитектуру выполнения тестов и включает специальные функции выполнения нагрузочных тестов. Контроллер пересылает нагрузочный тест всем агентам и ожидает, когда тест будет инициализирован всеми агентами. Когда агенты готовы, контроллер передает им команду на запуск теста.
Test Agent
Агент тестирования выполняется как служба, прослушивающая запросы от контроллера на выполнение нового теста. Когда агент тестирования получает запрос, служба агента запускает процесс, в котором будут выполняться тесты. Все агенты выполняют один и тот же нагрузочный тест.
Администратор назначает агентам весовые коэффициенты, в соответствии с которыми распределяется нагрузка. Например, если агент тестирования 1 имеет весовой коэффициент 30, а агент 2 — весовой коэффициент 70, в то время как нагрузка устанавливается равной 1000 пользователей, агент 1 будет моделировать работу 300 виртуальных пользователей, а агент 2 — 700 виртуальных пользователей. См. раздел Управление контроллерами и агентами тестирования с помощью Visual Studio.
Агент принимает набор тестов и набор параметров моделирования в качестве входных данных. Ключевым принципом является независимость тестов от компьютера, на котором они выполняются.
Точки подключения контроллера тестирования и агентов тестирования
На нижеприведенной иллюстрации показаны точки подключения между контроллером тестирования, агентом тестирования и клиентом. На ней показаны порты, используемые для входящих и исходящих подключений, а также ограничения системы безопасности, распространяющиеся на эти порты.
Дополнительные сведения см. в разделе Настройка портов для контроллеров и агентов тестирования.
Сведения об установке контроллеров тестирования и агентов тестирования
Ключевые сведения о требованиях контроллеров и агентов тестирования к оборудованию и программному обеспечению, а также об их установке и настройке среды тестирования для достижения оптимальной производительности см. в разделах Установка и настройка контроллеров и агентов тестирования и Требования к контроллерам и агентам тестирования для нагрузочного тестирования.
Использование контроллера и агентов тестирования в модульных тестах
После установки контроллера тестирования и одного или нескольких агентов можно указать, будет ли в нагрузочных тестах использоваться удаленное выполнение с помощью контроллера тестирования. Кроме того, можно задать адаптеры данных и диагностики для использования с ролью, связанной с агентами, в параметре тестирования. Дополнительные сведения см. в разделах Практическое руководство. Создание параметра тестирования для распределенного нагрузочного теста и Настройка компьютеров и сбор диагностических данных с помощью параметров тестирования.
См. также
Задачи
Практическое руководство. Создание параметра тестирования для распределенного нагрузочного теста
Практическое руководство. Обращение к результатам нагрузочного теста для их анализа
Основные понятия
[удалено] Веб-тесты производительности и нагрузочные тесты в Visual Studio
Требования к контроллерам и агентам тестирования для нагрузочного тестирования