Использование контроллеров и агентов тестирования в нагрузочных тестах
Этот раздел применим к следующим выпускам:
Visual Studio Ultimate |
Visual Studio Premium |
Visual Studio Professional |
Visual Studio Express |
---|---|---|---|
Для распределения нагрузки между несколькими компьютерами и моделирования работы нескольких виртуальных пользователей можно выполнять нагрузочные тесты с использованием контроллеров и агентов тестирования.
Не хотите использовать ресурсы и настраивать собственные компьютеры для создания этой нагрузки? Облачное нагрузочное тестирование можно использовать для предоставления виртуальных машин в облаке, которые создают нагрузку при одновременном доступе большого числа пользователей к веб-сайту. Все, что вам потребуется, — Учетная запись Visual Studio Online. Дополнительную информацию см. в облачная служба тестирования нагрузки, которая предоставляет 15 000 бесплатных пользовательских минут тестирования нагрузки каждый месяц.
Для просмотра требований для тестирования нагрузки приложения собственными ресурсами, следуйте информации далее по разделу.
Типичная удаленная конфигурация:
Компьютер 1 и компьютер 2: Visual Studio (один контроллер может использоваться несколькими тест-инженерами).
Компьютер 3: контроллер (на нем могут также быть установлены агенты).
Компьютеры 4–n: агент или агенты, все связанные с контроллером на компьютере 3.
При выполнении нагрузочных тестов, ресурсы памяти и процессора компьютера, как правило, определяют, какая нагрузка может быть создана для теста. Контроллер тестирования не создает нагрузку, но собирает от агентов тестирования и тестируемой системы статистические сведения о нагрузочном тесте, а также данные счетчиков производительности. Таким образом, база данных, используемая контроллером тестирования требует ресурсы, соответствующие как хранимому объему данных, так и количеству агентов тестирования, задействованных в выполнении тестов. Для определения аппаратных требований контроллеров и агентов тестирования используйте следующую таблицу.
Компонент |
Уровень приложений контроллеров тестирования |
Уровень данных контроллеров тестирования |
Уровень приложений/данных контроллеров тестирования |
---|---|---|---|
ЦП |
Минимум: 1 ГГц Рекомендуется: 2 ГГц |
Минимум: 1 ГГц Рекомендуется: 2 ГГц |
Минимум: 1 ГГц Рекомендуется: 2 ГГц |
Диск –ٞ система |
Минимум: 1 ГБ Рекомендуется: 1 ГБ |
Минимум: 1 ГБ Рекомендуется: 1 ГБ |
Минимум: 1 ГБ Рекомендуется: 1 ГБ |
Диск – установка |
Минимум: 1 ГБ Рекомендуется: 48 ГБ |
Минимум: 8 ГБ Рекомендуется: 48 ГБ |
Минимум: 8 ГБ Рекомендуется: 48 ГБ |
Память |
Минимум: 1 ГБ Рекомендуется: 1 ГБ |
Минимум: 1 ГБ Рекомендуется: 1 ГБ |
Минимум: 1 ГБ Рекомендуется: 1 ГБ |
Чтобы выполнять нагрузочные тесты с помощью контроллеров тестирования, необходимо настроить базу данных нагрузочных тестов на контроллере тестирования так, чтобы она использовала необходимый для выполнения нагрузочных тестов экземпляр сервера SQL Server. Если сервер SQL Server не установлен, в качестве хранилища нагрузочных тестов в Visual Studio Premium можно использовать SQL Express. Дополнительные сведения о настройке контроллера тестирования см. в разделе Установка и настройка контроллеров и агентов тестирования.
При выборе мощности оборудования примите во внимание следующие дополнительные факторы.
Компонент |
Тестовый агент |
Уровень приложений контроллеров тестирования |
Уровень данных контроллеров тестирования |
Уровень приложений/данных контроллеров тестирования |
---|---|---|---|---|
ЦП |
В зависимости от теста; ограничивающим фактором, как правило, является тактовая частота процессора |
Без высокой нагрузки. |
Без высокой нагрузки. |
Без высокой нагрузки. |
Дисковое пространство |
Высокая нагрузка, если в нагрузочных тестах включено подробное ведение журнала. |
Без высокой нагрузки. |
10 ГБ дискового пространства на каждые 24 часа тестирования. |
10 ГБ дискового пространства на каждые 24 часа тестирования. |
Память |
В зависимости от теста; ограничивающим фактором может быть объем оперативной памяти. |
Без высокой нагрузки. |
Интенсивно используется SQL. |
Интенсивно используется SQL. |
Объем нагрузки, создаваемый отдельным агентом тестирования, может быть различным в каждом отдельном тесте. Многие тесты ограничиваются процессором. Интенсивность использования процессора прямо пропорциональна количеству запросов в секунду. В некоторых тестах ограничивающим фактором является память. Количество запросов, создаваемых агентом в секунду, зависит от множества факторов. В число этих требований входят следующие:
нагрузка пользователя;
время обработки;
схема проверки подлинности;
объем запросов и ответов;
время ответа;
уровень проверки ответов;
тип теста под нагрузкой (веб-тест или модульный тест).
Время обработки — это основной фактор, определяющий количество пользователей в тесте, ограниченном процессором. Изменение времени обработки с 2 секунд на 10 позволяет моделировать пятикратное количество пользователей при том же количестве запросов в секунду. Если нужно смоделировать реальную работу пользователей, задайте время обработки, соответствующее времени, которое пользователи будут тратить на просмотр веб-сайта. Повышение времени обработки и числа виртуальных пользователей не обязательно приводит к повышению нагрузки на веб-приложение.
Агенты тестирования ограничены объемом памяти в тестах, использующих режим подключения на пользователя. В параметрах выполнения нагрузочных тестов можно задать два режима подключения. В режиме пула подключений (по умолчанию) подключения объединяются в пул, но каждый активный пользователь использует два подключения. В этом режиме все виртуальные пользователи мультиплексируются посредством пула подключений. Это позволяет иметь в наличии 1 000 активных виртуальных пользователей, совместно использующих 100 подключений. В режиме подключения на пользователя каждый пользователь получает подключение, состоящее из двух фактических подключений, открытых для сервера.
Если нагрузочное тестирование выполняется для типичного приложения ASP.NET с временем обработки от 3 до 5 секунд с использованием веб-тестов, с помощью однопроцессорного агента тестирования с тактовой частотой 2 ГГц и объемом оперативной памяти 1 ГБ (рекомендуемая конфигурация) можно моделировать работу около 1 000 пользователей. Количество поддерживаемых пользователей — это функция времени обработки. Чем больше время обработки, тем больше пользователей может поддерживаться.
Сервер, на котором работает Visual Studio Premium, должен иметь надежное сетевое соединение с минимальной пропускной способностью 1 Мбит/с и максимальной задержкой 350 мс. Между агентами тестирования и контроллером тестирования не должно быть брандмауэра. Если производительность тестов оказывается слишком низкой, следует обновить оборудование.
Замечания о размере баз данных SQL
По умолчанию SQL Express устанавливается на компьютер контроллера и используется контроллером как хранилище SQL по умолчанию для результатов нагрузочных тестов. Лицензия ограничивает объем данных в базе данных SQL Express до 10 ГБ. Это объем данных, создаваемый примерно за 24 часа тестирования в типичном режиме. Объем, требуемый для хранения данных о нагрузочных тестах, может быть различным и зависит от каждого конкретного случая.
В ходе нагрузочного теста данные собираются по каждому экземпляру счетчика на каждом компьютере. Таким образом, требуемый объем базы данных зависит от следующих факторов: количества счетчиков, количества задействованных в тесте компьютеров и количества данных выборки (зависит от часты опроса).
В параметрах запуска нагрузочного теста можно собирать сведения о синхронизации. Это дает возможность использовать график активности виртуальных пользователей. Также можно собирать подробные журналы виртуальных пользователей.
При запуске нагрузочного теста для сбора информации или влияния на тестовый компьютер может использоваться один или несколько адаптеров диагностических данных. Они настраиваются в параметрах тестирования для данного запуска. Данные этих адаптеров также хранятся в SQL Express и в зависимости от используемого адаптера диагностических данных могут потребовать большой объем дискового пространства.
Если возможно, используйте отдельную базу данных для хранения данных нагрузочного теста. База данных может храниться как на компьютере контроллера тестирования, так и на любом другом компьютере. Чтобы изменить хранилище данных, отправьте команды SQL, содержащиеся в SQL-файле, в экземпляр сервера SQL Server, который предполагается использовать для хранения результатов нагрузочного теста. Это можно сделать двумя способами. Один из способов — это использование команды sqlcmd в командной строке с указанием параметров, необходимых для подключения к базе данных. Используйте параметр –i для указания пути к файлу loadtestresultsrepository.sql. Второй способ — использование графических интерфейсов пользователя для SQL, таких как анализатор запросов, с открытием SQL-файла и отправкой подключений.
См. также
Задачи
Основные понятия
Настройка контроллеров и агентов тестирования для нагрузочного тестирования
Установка и настройка контроллеров и агентов тестирования
Настройка тестовых компьютеров для выполнения тестов или сбора данных
Настройка компьютеров и сбор диагностических данных с помощью параметров тестирования
Настройка контроллеров и агентов тестирования для нагрузочного тестирования