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


Создание и изменение нагрузочных тестов

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

Требования

  • Visual Studio Ultimate

В Видео: Приложения нагрузочного тестирования в Visual Studio разделе.

Задачи

Задачи

Связанные разделы

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

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

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

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

Связанные задачи

Настройка параметров запуска нагрузочных тестов

Параметры запуска — это наборы свойств, которые влияют на способ выполнения нагрузочного теста.Параметры запуска организованы по категориям в окне "Свойства".

Особенности нагрузочного тестирования

Нужно учесть следующие советы, касающиеся крупных нагрузочных тестов в Visual Studio Ultimate:

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

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

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

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

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

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

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

Включение профилировщика ASP.NET

Включение ведения журнала виртуальных пользователей

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

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

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

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

Константа

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

Шаг

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

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

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

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

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

Выбор подходящей модели подключения веб-тестов производительности

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

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

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

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

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

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

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

Подключение на итерацию теста

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

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

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

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

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

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

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

< 1 часа

5 секунд

1–8 часов

15 секунд

8–24 часа

30 секунд

24 часа

60 секунд

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

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

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

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

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

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

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

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

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

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

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

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

  • Объем места для хранения сведений о времени может быть очень большим, особенно для длительных тестов.

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

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

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

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

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

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

ПримечаниеПримечание

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

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

Включение профилировщика ASP.NET

Адаптер диагностических данных профилировщика ASP.NET позволяет собирать данные профилировщика ASP.NET на уровне приложения во время выполнения нагрузочного теста.Не следует запускать профилировщик нельзя использовать для продолжительных нагрузочных тестов (например, для нагрузочных тестов, которые выполняются больше часа), поскольку размер файла профилировщика может стать слишком большим (сотни мегабайт).Вместо этого с профилировщиком ASP.NET следует запускать более короткие нагрузочные тесты; при этом можно по-прежнему пользоваться преимуществами более глубокой диагностики проблем производительности.

Дополнительные сведения см. в разделе Практическое руководство. Настройка профилировщика ASP.NET для нагрузочного тестирования с помощью параметров тестирования в Visual Studio.

Включение ведения журнала виртуальных пользователей

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

Дополнительные сведения см. в разделе Изменение параметров ведения журнала нагрузочного теста.

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

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

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

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

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

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

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

Внешние ресурсы

Dd728098.collapse_all(ru-ru,VS.110).gifВидеоклипы

Приложения нагрузочного тестирования в Visual Studio

См. также

Задачи

Пошаговое руководство. Создание и запуск нагрузочного теста, содержащего веб-тесты производительности

Пошаговое руководство. Создание и запуск нагрузочного теста, содержащего модульные тесты

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

Тестирование производительности и нагрузки с помощью веб-тестов производительности и нагрузочных тестов Visual Studio