Все сценарии тестирования Мне известно, что для тестирования используется одна и та же базовая структура, которая включает в себя создание нескольких запросов для одного или нескольких запрашивающих лиц, предназначенных для тестируемого обработчика. Ответ на вопрос Kurt - отличный пример этого процесса. Как правило, вы запускаете тесты, чтобы найти некоторые пороговые значения, а также запускать некоторые альтернативные конфигурации (меньше узлов, другое оборудование и т. Д.) Для создания точных усредненных данных.
Рекоммендуем может быть машина, сетевая карта, специальное программное обеспечение или поток в программном обеспечении, которое генерирует запросы. Все, что он делает, это генерировать запрос, который может быть обработан каким-то образом.
Обработчик - это программное обеспечение, сетевая карта, машина, которая фактически обрабатывает запрос и возвращает результат.
Однако то, что вы делаете с результатами определяет тип теста, который вы делаете, и они:
Load/Performance Testing: Это наиболее распространенный в использовании. Результаты обрабатываются, чтобы увидеть, сколько обрабатывается на разных уровнях или в различных конфигурациях. Снова то, что Курт ищет выше, является примером, если это так.
Балансовое тестирование: Обычная практика масштабирования заключается в использовании агента балансировки нагрузки, который направляет запросы обрабатывающему агенту. Настройка такая же, как и для тестирования нагрузки, но целью является проверка распределения запросов. В некоторых сценариях вам необходимо убедиться, что достигается ровный (или как можно более близкий) баланс запросов между обработчиками, и в других сценариях вам необходимо убедиться, что обработчик процесса, который обработал первый запрос для конкретного реквестера обрабатывает все последующие запросы (обычно нужны веб-фермы).
Безопасность данных: С помощью этого теста собираются результаты и сравниваются данные. Здесь вы ищете проблемы с блокировкой (например, тупик SQL), который предотвращает запись или изменения данных реплицируются на различные узлы или репозитории, которые вы используете в приемлемое время или меньше.
Boundary Testing: Это похоже на нагрузочное тестирование, за исключением того, что целью является не производительность обработки, а объем сохраненных эффектов. Например, если у вас есть база данных, сколько строк/таблиц/столбцов вы можете получить до того, как производительность ввода-вывода опустится ниже допустимых уровней.
Я также рекомендовал бы The Art of Capacity Planning как отличную книгу на эту тему.
Роберт, я согласен, что ответ Курта показывает, как обычно выполняется тестирование масштабируемости. Ваш ответ немного больше соответствует тому, что я искал. –