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


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

В этом разделе перечислены следующие распространенные проблемы, возникающие при работе с нагрузочными тестами в Visual Studio Ultimate.

Не удается использовать трассировку SQL

При выполнении теста возникла ошибка.(Компьютеру xyz) не удается получить доступ к хранилищу результатов нагрузочных тестов: недопустимое имя объекта "Запуск_нагрузочного_теста"

Ошибка LoadTestCounterNotFoundException

LoadTestResultsCollectorSlowException

Ошибка LoadTestErrorLimitExceededException

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

Не удается создать ожидаемую нагрузку

Ограничения создания нагрузки на многоядерных компьютерах

Требования

  • Visual Studio Ultimate

Не удается использовать трассировку SQL

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

При выполнении теста возникла ошибка.Не удалось запустить трассировку SQL: Недостаточно полномочий для запуска "SP_TRACE_CREATE"

Для использования трассировки SQL в нагрузочном тесте, выполняемом локально на компьютере под управлением операционной системы Windows Vista, пользователь должен являться членом роли sysadmin для отслеживаемого экземпляра SQL Server.Чтобы решить эту проблему, администратор SQL Server должен добавить пользователя к роли sysadmin.

При выполнении теста возникла ошибка.(Компьютеру xyz) не удается получить доступ к хранилищу результатов нагрузочных тестов: недопустимое имя объекта "Запуск_нагрузочного_теста"

Эта ошибка указывает на то, что не была создана схема базы данных нагрузочного теста.Чтобы создать базу данных, можно воспользоваться анализатором запросов для запуска файла LoadTestResultsRepository.Sql, расположенного в папке <папка установки Visual Studio>\Common7\IDE\.

При использовании SQL Express можно выполнить в командной строке команду "sqlcmd -S.\SQLEXPRESS -i loadtestresultsrepository.sql" в каталоге, указанном выше.

Предупреждающее замечаниеВнимание

Параметры вводятся с учетом регистра.Буква "S" должна вводиться в верхнем регистре, а "i" — в нижнем.

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

Ошибка LoadTestCounterNotFoundException

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

Ошибка LoadTestResultsCollectorSlowException

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

Ошибка LoadTestLimitExceededException

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

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

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

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

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

SQLCMD -S ContosoServer1 -U <user name> -P <password> -i loadtestresultsrepository.sql

Предупреждающее замечаниеВнимание

Параметры вводятся с учетом регистра.Буквы S, U и P следует вводить в верхнем регистре; букву i — в нижнем.

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

Не удается создать ожидаемую нагрузку

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

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

Если включено время обработки, оно может ограничить частоту, с которой каждый виртуальный пользователь может отправлять запросы.Например, если время обработки составляет 5 секунд на запрос частота запросов будет равна 0,2 запроса в секунду на виртуального пользователя.Для устранения ошибки можно попытаться внести следующие изменения (в порядке приоритета).

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

  2. Уменьшить время обработки.

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

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

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

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

Узкие места приложений.

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

Превышен предел для процессора, памяти или пропускной способности сети веб-сервера.

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

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

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

Превышен предел для процессора, памяти или пропускной способности сети сервера базы данных (если применимо).

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

Ограничения создания нагрузки на многоядерных компьютерах

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

  • Если на компьютере используется Visual Studio Ultimate, создание нагрузки ограничивается одним ядром.

  • Если на компьютере используется агент тестирования Visual Studio, создание нагрузки не ограничивается; оно выполняется на всех ядрах и процессорах.

См. также

Задачи

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

Устранение неполадок, связанных со средствами тестирования Visual Studio ALM

Устранение неполадок веб-тестов производительности

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

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

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

Управление результатами нагрузочного теста в репозитории результатов нагрузочного теста

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

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

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

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

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

Considerations for Load Testing