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


Особенности крупных нагрузочных тестов

Обновлен: Ноябрь 2007

В этом разделе содержатся советы, касающиеся крупных нагрузочных тестов в Visual Studio Team System Test Edition. Рассматриваются следующие вопросы:

Выбор подходящего шаблона нагрузки

Выбор подходящей модели подключения

Частоты выборки и сбор данных

Время обработки

Установка целевого значения времени отклика для запросов веб-тестов

Добавление временных сведениий для сбора данных процентилей

Установка процентного значения свойства "Новые пользователи"

Включение трассировки SQL

Поддержка нужного числа компьютеров-агентов

Выбор подходящего шаблона нагрузки

Можно выбрать три типа шаблонов нагрузки: постоянный, пошаговый и с учетом эталона. Чтобы выбрать подходящий шаблон нагрузки, следует знать преимущество каждого типа. Дополнительные сведения см. в разделе О шаблонах нагрузки.

Постоянный

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

Пошаговый

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

С учетом эталона

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

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

Выбор подходящей модели подключения

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

Подключения на пользователей

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

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

Пул подключений

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

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

Частоты выборки и сбор данных

Выберите частоту выборки в соответствии с длительностью нагрузочного теста. При небольшом значении частоты выборки (например, 5 секунд) будет собрано больше данных, чем при большом значении. Сбор большого объема данных в течение длительного времени может привести к тому, что не останется места на диске. Для длительных нагрузочных тестов можно использовать более высокое значение частоты, чтобы снизить объем собираемых данных. Также на объем собираемых данных влияет число счетчиков производительности. Для тестируемых компьютеров снижение числа счетчиков приведет с уменьшению объема собираемых данных.

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

Длительность нагрузочного теста

Рекомендуемая частота выборки

< 1 часа

5 секунд

1–8 часов

15 секунд

8–24 часа

30 секунд

24 часа

60 секунд

Время обработки

Время обработки веб-запросов в значительной степени влияет на число пользователей, запросы которых можно обработать за достаточно краткое время. Изменение времени обработки с 2 секунд на 10 секунд позволит смоделировать в 5 раз больше пользователей. Однако если нужно смоделировать реальную работу пользователей, следует рассчитать, сколько времени пользователи будут тратить на просмотр веб-узла. Повышение времени обработки и числа пользователей не обязательно приведет к повышению нагрузки на веб-сервер. Однако если на веб-узле используется проверка подлинности, то это сильно повлияет на производительность.

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

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

Установка целевого значения времени отклика для запросов веб-тестов

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

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

Добавление временных сведений для сбора данных процентилей

Среди параметров запуска есть свойство Хранение сведений о синхронизации. Если это свойство включено, то в хранилище результатов нагрузочного теста будет записано время выполнения каждого отдельного теста, транзакции и страницы. Это обеспечивает отображение данных процентилей 90 и 95 в анализаторе тестовой нагрузки на страницах Тесты, Транзакции и Страницы.

По умолчанию свойство Хранение сведений о синхронизации отключено. Для этого имеются две причины. Во-первых, объем места для хранения сведений о синхронизации может быть очень большим, особенно для длительных тестов. Во-вторых, сохранение сведений о синхронизации может занять очень много времени, поскольку эти данные хранятся на агентах до завершения тестирования.

Если в хранилище результатов достаточно места, можно включить свойство Хранение сведений о синхронизации для получения данных перцентилей. При включении свойства Хранение сведений о синхронизации есть два варианта: StatisticsOnly и AllIndividualDetails. В обоих случаях измеряется время всех тестов, страниц и транзакций, а на основе сведений о времени вычисляются данные перцентилей. Если выбрать StatisticsOnly, то после вычисления данных перцентилей из хранилища будут удалены сведения о времени для всех индивидуальных объектов. Это позволит уменьшить место, необходимое для хранения данных. Однако для непосредственной обработки сведений о времени с помощью инструментов SQL нужно выбрать AllIndividualDetails для сохранения этих сведений в хранилище.

Установка процентного значения свойства "Новые пользователи"

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

ms404664.alert_note(ru-ru,VS.90).gifПримечание.

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

При нагрузочном тестировании веб-узла со значительным числом пользователей, регулярно посещающих этот веб-узел (у этих пользователей рисунки и другое кэшируемое содержимое будет с большой вероятностью находиться в локальном кэше), то при использовании значения по умолчанию 100 для параметра Доля новых пользователей будет создано больше запросов на загрузку, чем при реальном использовании. При нагрузочном тестировании веб-узла со значительным числом пользователей, регулярно посещающих этот веб-узел, следует оценить долю новых пользователей и соответственно изменить процентное значение.

Включение трассировки SQL

Среди параметров запуска есть свойство Трассировка SQL включена. Это свойство позволяет использовать функцию трассировки Microsoft SQL Server во время теста. Этот подход можно использовать вместо запуска отдельного сеанса SQL Profiler во время нагрузочного теста для диагностики проблем производительности SQL. Если это свойство включено, данные трассировки SQL отображаются в анализаторе тестовой нагрузки. Их можно посмотреть на странице Таблицы в таблице Трассировка SQL.

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

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

Поддержка нужного числа компьютеров-агентов

Если центральный процессор компьютера-агента использован более чем на 75% или доступно менее 10% физической памяти, этот компьютер перегружен. Добавьте в платформу больше агентов, чтобы убедиться, что для нагрузочного теста достаточно ресурсов.

Дополнительные сведения см. в разделе Контроллеры, агенты и платформы.

См. также

Задачи

Устранение неполадок нагрузочных тестов

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

Анализ ошибок нагрузочных тестов

Анализ нарушений правила пороговых значений

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

Работа с нагрузочными тестами