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

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

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

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

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

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

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

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

  • Создание нагрузочного теста.

  • Добавление веб-теста производительности в нагрузочный тест.

  • Изменение параметров нагрузочного теста.

  • Запуск нагрузочного теста.

Обязательные компоненты

Открытие решения ColorWebApp, созданного в предыдущем пошаговом руководстве

Открытие решения

Изменение кода страницы ASP.NET Red.aspx.cs для демонстрации ошибок и нарушений пороговых значений

Изменение кода в файле Red.aspx.cs для демонстрации ошибок и нарушений пороговых значений

  1. В обозревателе решений разверните папку проекта веб-приложения ASP.NET ColorWebApp, а затем узел Red.aspx.

  2. Щелкните файл Red.aspx.cs правой кнопкой мыши и выберите команду Перейти к коду.

  3. В редакторе кода добавьте следующий выделенный код в метод Page_Load:

    protected void Page_Load(object sender, EventArgs e)
            {
                Random rnd = new Random();
                int result = rnd.Next(5000);
                    //To emmulate various page times up to 5 seconds.
                    Thread.Sleep(result); 
                if (result < 500)
                    Response.Redirect("NOWHERE");  //10% chance to cause an HTTP 404 error.
            }
    

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

Создание нагрузочного теста с помощью мастера тестовой нагрузки

Запуск мастера создания нагрузочных тестов

  1. В обозревателе решений щелкните правой кнопкой мыши узел проекта веб-теста производительности и нагрузочного теста ColorWebAppTest.

  2. Выберите Добавить, а затем выберите Нагрузочный тест.

    Будет запущен мастер тестовой нагрузки.

    Откроется страница Мастер тестовой нагрузкимастера тестовой нагрузки.

  3. Выберите Далее.

Изменение параметров сценария тестовой нагрузки

  1. Откроется страница Изменить параметры сценария тестовой нагрузки.

  2. В текстовом поле Введите имя сценария тестовой нагрузки введите "Базовая нагрузка сценария".

    Сценарий — это способ группировки.Он состоит из набора тестов и свойств для запуска этих тестов под нагрузкой.

  3. Установите в разделе Профиль времени обработки значение Использовать нормальное распределение с центром на записанных временах обработки.

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

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

  4. Выберите Далее.

Изменение параметра шаблона нагрузки для тестового сценария

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

  2. Выберите значение Постоянная нагрузка.

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

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

  3. Выберите Далее.

Выбор модели тестового набора для сценария

  1. Откроется страница Выберите модель набора тестов для нагрузочного теста.

  2. В разделе Способ моделирования набора тестов выберите значение На основе общего числа тестов.

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

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

  3. Выберите Далее.

Добавление веб-теста производительности ColorWebTest.webtest в сценарий

  1. Откроется страница Добавление тестов в сценарий тестовой нагрузки и изменение набора тестов.

  2. Выберите Добавить для выбора тестов.

    Откроется диалоговое окно Добавление тестов.

  3. В области Доступные тесты выделите веб-тест производительности ColorWebTest и щелкните стрелку для его добавления в область Выбранные тесты.

  4. Нажмите кнопку ОК.

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

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

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

  5. Выберите Далее.

Выбор смешанного сетевого профиля для сценария тестирования

  1. Откроется страница Добавить типы сетей в сценарий тестовой нагрузки и изменить смешанный сетевой профиль.

  2. Оставьте для параметров локальной сети значения по умолчанию 100%.

    Смешанный сетевой профиль представляет собой способ более реалистичного моделирования нагрузки в сценарии нагрузочного теста.

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

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

  3. Выберите Далее.

Выбор набора браузеров для сценария тестирования

  1. Откроется страница Добавление типов браузеров в сценарий тестовой нагрузки и изменение набора браузеров.

  2. Оставьте значение по умолчанию Internet Explorer 7.0 или укажите используемый тип браузера.

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

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

  3. Выберите Далее.

Указание компьютеров для отслеживания наборами счетчиков при выполнении нагрузочного теста

  1. Откроется страница Укажите компьютеры, контролируемые наборами счетчиков при выполнении нагрузочного теста.

  2. Оставьте значения параметров по умолчанию.

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

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

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

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

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

    Затем можно выбрать наборы наблюдаемых счетчиков.На странице отображается коллекция предварительно определенных наборов счетчиков, которые добавляют в нагрузочный тест конкретные мониторы производительности. В коллекцию входят наборы "Приложение", ASP.NET, "Приложение .NET", IIS и SQL.

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

  3. Выберите Далее.

Изменение параметра запуска для нагрузочного теста

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

  2. Выберите Длительность нагрузочного теста, затем установите для параметра Длительность выполнения значение, равное 2 минутам, чтобы провести тест состояния нагрузочного теста.

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

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

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

  3. Выберите Готово.Нагрузочный тест будет открыт в редакторе тестовой нагрузки.

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

Добавление правила порога в нагрузочный тест

  1. В узле Наборы счетчиков последовательно разверните узел набора счетчиков LoadTest и узел папки Категории счетчиков.

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

  3. Щелкните правой кнопкой мыши узел счетчика Среднее время страницы и выберите команду Добавить правило порога.

  4. Откроется диалоговое окно Добавить правило порога.

  5. В разделе Выберите правило оставьте выбранным правило Сравнить с константой.

  6. В категории Параметры раздела Свойства выбранного правила задайте для параметра Оповещать при превышении значение True.

  7. В категории Пороговые значения задайте для параметра Пороговое значение предупреждения значение 3, а для параметра Критическое пороговое значение — значение 4.

  8. Нажмите кнопку ОК.

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

Выполнение нагрузочного теста и включение нарушений пороговых значений на диаграмме

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

Запуск нагрузочного теста

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

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

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

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

    Откроется диалоговое окно Анализ.

  4. В текстовом поле Описание введите текст "Нарушение порогового значения".

  5. В текстовом поле Анализ введите текст "Возможный дефект кода в файле Red.aspx.cs".

    Этот комментарий окончательно сохраняется вместе с результатами нагрузочного теста.

  6. После завершения нагрузочного теста его результаты отображаются на отдельной вкладке LoadTest1[время] в представлении "Сводка" анализатора тестовой нагрузки.

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

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

Анализ нагрузочного теста с помощью анализатора тестовой нагрузки

  1. Прокрутите вниз представление "Сводка" до таблицы Ошибки и щелкните Ошибка HTTP или Ошибка правила проверки.

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

  3. Обратите внимание, что в строке для типа правила Ошибка правила проверки в столбце ошибки Подтип отображается нарушение ValidateResponseurl.Причиной этого нарушения порогового значения является ранее добавленный в файл Red.aspx.cs следующий выделенный код, который случайным образом моделирует задержку ответа страницы продолжительностью более пяти секунд:

    protected void Page_Load(object sender, EventArgs e)
            {
                Random rnd = new Random();
                int result = rnd.Next(5000);
                    //To emmulate various page times up to 5 seconds.
                    Thread.Sleep(result); 
                if (result < 500)
                    Response.Redirect("NOWHERE");  //10% chance to cause an HTTP 404 error.
            }
    

    Моделируемая задержка потенциально может нарушать как значение 3 параметра Пороговое значение предупреждения, так и значение 4 параметра Критическое пороговое значение, которые были заданы ранее в данном пошаговом руководстве.Предупреждения обозначаются значками в виде треугольников с восклицательным знаком внутри, а критические нарушения — красными кружками с символом X.

  4. Обратите внимание, что в строке для типа правила Ошибка HTTP в столбце ошибки Подтип отображается ошибка 404 - NotFound.Ее причиной стал следующий выделенный код, ранее добавленный в файл Red.aspx.cs.Этот код обеспечивает перенаправление на несуществующую страницу в одном из десяти случаев, что вызывает ошибку:

    protected void Page_Load(object sender, EventArgs e)
            {
                Random rnd = new Random();
                int result = rnd.Next(5000);
                    //To emmulate various page times up to 5 seconds.
                    Thread.Sleep(result); 
                if (result < 500)
                    Response.Redirect("NOWHERE");  //10% chance to cause an HTTP 404 error.
            }
    
  5. В столбце Число щелкните ссылку с числом для типа правила Ошибка правила проверки.

    Откроется диалоговое окно Ошибки нагрузочного теста.

  6. Прокрутите окно вправо и в столбце Сведения щелкните ссылку TestLog.

  7. На отдельной вкладке открывается средство просмотра веб-тестов производительности, в котором отображается тест ColorWebTest, связанный с ошибкой.

  8. Нажмите кнопку Закрыть в диалоговом окне "Ошибки нагрузочного теста".

  9. Перейдите на вкладку LoadTest[время], чтобы вернуться в анализатор тестовой нагрузки, в котором отображаются результаты нагрузочного теста.

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

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

  12. Щелкните линию, на которой отображается значок нарушения.

  13. Линия становится жирной, и счетчик Среднее время страницы выделяется в легенде представления "Диаграммы" для запроса Красный (отчетное имя, добавленное в предыдущем пошаговом руководстве).

  14. Обратите внимание, что столбец Максимум для счетчика Среднее время страницы превышает заданное пороговое значение.

Следующие действия

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

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

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

См. также

Задачи

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

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

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

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

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

Обзор анализатора тестовой нагрузки

Обзор анализатора тестовой нагрузки

Обзор результатов нагрузочного теста

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

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

Анализ результатов и ошибок нагрузочного тестирования в представлении таблиц анализатора тестовой нагрузки

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

Step 4 - Specifying Run Settings in the New Load Test Wizard

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

Определение типов виртуальной сети в сценарии тестовой нагрузки

Изменение сценариев нагрузочного тестирования с помощью редактора тестовой нагрузки

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

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

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

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

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

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