Какой вариант модели тестового набора выбрать для нагрузочного тестирования REST Api в Visual Studio? - PullRequest
0 голосов
/ 04 сентября 2018

Я создал файл WebTest и теперь добавляю новый Load Test, используя файл WebTest. Файл WebTest содержит снимок API моего сеанса, который выполняет несколько REST Apis, включая Post, Get и т. Д. Тест веб-производительности проходит успешно.

Я создаю Load Test с помощью мастера Load Test Wizard в Visual Studio, где меня просят выбрать модель Test Mix, как показано на скриншоте:

Screenshot1

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

  1. На основании общего количества испытаний

  2. На основании количества виртуальных пользователей

  3. В зависимости от темпа пользователя

  4. На основе последовательного заказа

Я сослался на официальную документацию , но я до сих пор не могу понять, какой модельный ряд использовать, и какое различие и влияние на производительность создает каждый микс?

1 Ответ

0 голосов
/ 06 сентября 2018

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

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


Поскольку есть только один веб-тест, микс "последовательный порядок" не нужен. Он используется только в том случае, если у вас более одного теста (например, A, B и C), и каждый виртуальный пользователь (VU) должен запускать их несколько раз в этом порядке (например, A B C A B C A B C ... A B C).

Смесь «пользовательский темп» используется, когда вы хотите, чтобы веб-тест выполнялся с фиксированной скоростью (N раз в час), чтобы приложить постоянную нагрузку к тестируемой системе. Предположим, что выполнение теста D занимает около 40 секунд, а скорость установлена ​​на 30 тестов в час. Затем мы ожидаем, что система будет запускать для каждого VU этот тест каждые 2 минуты (и, следовательно, между выполнениями будет около 100 секунд простоя). Предположим теперь, что есть также тест E, выполнение которого занимает около 15 секунд, а его скорость установлена ​​на 90 в час. Затем каждый VU должен дополнительно запускать тестирование E каждые 40 секунд. Так что теперь каждый VU запускает тесты D и E с такими скоростями. Тест D требует 30 * 40 секунд в час для каждого времени VU, а тест E требует 90 * 15 секунд, таким образом, мы используем 30 * 40 + 90 * 15 = 2550 секунд каждого часа. Таким образом, у каждого VU есть достаточно времени для выполнения обоих тестов. Если тесты занимают намного больше времени или требуют более высокой скорости, это может занять более 3600 секунд в час. Это невозможно, и я ожидаю увидеть сообщение об ошибке или предупреждение об этом при выполнении теста.

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

Предположим, у нас есть тесты: A при 40%, B при 30%, C при 20% и D при 10%. С набором тестов, основанным на общем количестве тестов, мы ожидаем, что число каждого выполненного теста будет приблизительно соответствовать указанному проценту. Предположим, что у нас есть 20 VU и набор тестов, основанный на количестве пользователей, тогда мы ожидаем, что 8 VU будут выполнять тест A, 6 VU для теста B, 4 VU для теста C и 2 VU для теста D.

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