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


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

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

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

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

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

Ошибка LoadTestCounterNotFoundException

LoadTestResultsCollectorSlowException

Ошибка LoadTestErrorLimitExceededException

Нет компьютеров агента, удовлетворяющих условиям отбора

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

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

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

Не удается использовать трассировку 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" в каталоге, указанном выше.

ms404661.alert_caution(ru-ru,VS.90).gifВнимание!

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

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

Ошибка LoadTestCounterNotFoundException

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

Ошибка LoadTestResultsCollectorSlowException

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

Ошибка LoadTestLimitExceededException

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

Нет компьютеров агента, удовлетворяющих условиям отбора

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

Нет компьютеров агента, удовлетворяющих условиям отбора

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

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

  1. В меню Тест наведите курсор на пункт Изменить конфигурации тестовых запусков и щелкните конфигурацию, активную в текущий момент.

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

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

  2. В поле со списком выберите пункт Контроллер и агент.

  3. В сетке "Имя" и "Значение" удалите условия, в соответствии с которыми исключаются агенты, которые необходимо использовать при выполнении теста.

  4. По завершении последовательно нажмите кнопки Применить и ОК.

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

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

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

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

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

ms404661.alert_caution(ru-ru,VS.90).gifВнимание!

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

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

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

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

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

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

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

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

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

    ms404661.alert_caution(ru-ru,VS.90).gifВнимание!
    Отключение времени обработки может значительно повлиять на работу тестовой подсистемы. При отключении времени обработки следует уменьшить число виртуальных пользователей.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

Задачи

Устранение неполадок в Test Edition

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

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

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

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

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

Контроллеры, агенты и платформы

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

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

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

Загрузка репозитория результатов нагрузочного теста