Настройка базового нагрузочного теста - PullRequest
3 голосов
/ 06 апреля 2010

У меня очень простой вопрос о нагрузочном тесте.

Я выполняю нагрузочное тестирование с использованием VSTS 2008, и у меня есть тестовая установка с контроллером + 10 агентов. Этот нагрузочный тест соответствует моей ферме SharePoint. Моя цель нагрузочного теста состоит в том, чтобы выяснить использование ресурсов на уровнях web + app + db моей фермы для любого заданного сценария нагрузки. Пример сценария загрузки:

Профиль использования: Среднее сотрудничество (как определено SCCP)

Пользовательская нагрузка: 500 (с использованием схемы пошаговой загрузки = шаг 50 каждые 2 минуты и время прогрева 2 минуты для каждого шага)

Время обдумывания: 0

Продолжительность загрузки: 8 часов

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

Я задаю этот вопрос, потому что вижу что-то другое. В какой-то момент в нагрузочном тесте количество запросов в секунду становится более или менее плоским. Но загрузка процессора на веб-серверах / серверах БД продолжает расти. Немного покопавшись в данных, я вижу, что со временем счетчик «выполнения тестов» также постоянно увеличивается. Итак, если я запустлю нагрузочный тест более 8 часов,% процессора может пойти дальше. Таким образом, я не знаю, что считать нагрузкой, выделяемой профилем нагрузки.

Что на самом деле означает этот счетчик "запуск теста"? Чем это отличается от тестов / сек?

Еще один вопрос: как я могу узнать, почему счетчик «запуска тестов» показывает увеличение сверхурочной работы?

Спасибо за ваше время

1 Ответ

2 голосов
/ 02 января 2012

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

Рабочий пул имеет ограниченное количество потоков, которые можно использовать для обслуживания запросов. Как только это будет достигнуто (что может через некоторое время из-за того, что клиентский интерфейс выполняет запросы к БД и ожидает их, скорее всего, не асинхронно), тогда запросы помещаются в очередь (я думаю, это увеличение вашего счетчика «выполнения теста»).

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

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

...