Size: a a a

QA — Load & Performance

2020 October 16

СФ

Степа Фомичев... in QA — Load & Performance
Это все очень верхнеуровнево, можно оперировать количеством запросов, можно количеством сценариев
источник

VG

Viktor Ganeles in QA — Load & Performance
Степа Фомичев
Это не задержка между группами тогда, это, что называется, пэйсинг. Думаю, стоит забыть про "время между тредами" и перейти к "время между транзакциями". Допустим, что транзакция = n-количество запросов в тред группе, которое должен сделать один пользователь. Вам нужно понять, сколько таких транзакций должно быть выполнено за время теста. После этого нужно расчитать пэйсинг - для вашей интенсивности необходимо выполнять одну транзакцию в 10 секунд. Она выполняется 4 секунды, вам нужно с помощью таймеров увеличить время выполнения транзакции на 6 секунд, чтобы создать нужную интенсивность
Меня кирилл убедил, что новичкам проще throughput shaping timer показывать
Тогда pacing уже не очень нужен.
Но в школе нагрузки - обязательно продолжу его показывать :)
источник

СФ

Степа Фомичев... in QA — Load & Performance
Ну у меня не получается его готовить, если честно. при низких интенсивностях он вообще не держит нагрузку, как и при большом количествое ошибок
источник

СФ

Степа Фомичев... in QA — Load & Performance
А пэйсинг довольно универсальная и простая штука для начала, но это имхо
источник

VG

Viktor Ganeles in QA — Load & Performance
Nike
да
Хм. Я с ним немного совсем работал.. может не напарывался
источник

VG

Viktor Ganeles in QA — Load & Performance
Nike
да
источник

VG

Viktor Ganeles in QA — Load & Performance
Nike
так константный таймер добавляет задержку между запросами, а не между тредами
Задержка между тредами не задаётся. Но задаётся время, уходящее на разгон всех тредов вместе взятых (поле rumpap)

Если у вас 10 тредов и на разгон (rumpap) вы выделили 60 секунд - то треды будут заходить каждые 6 секунд
источник

VG

Viktor Ganeles in QA — Load & Performance
источник

N

Nike in QA — Load & Performance
так. я непраивльно значит сказал
источник

VG

Viktor Ganeles in QA — Load & Performance
Если у вас сценарий выполняется 6 сек, значит потребуется 210 тредов:

3600 (сек в час) / 6 (сек на один сценарий) = 600 (сценариев может выдать один тред)

126000 (нужно сценариев в час) / 600 (сценариев сделает один тред) = 210 тредов вам потребуется.

Но это если они будут выполняться за 6 сек ровно.
источник

VG

Viktor Ganeles in QA — Load & Performance
По факту же сценарии выполняются с разной скоростью
источник

VG

Viktor Ganeles in QA — Load & Performance
Поэтому зачастую делается так:
источник

VG

Viktor Ganeles in QA — Load & Performance
Предполагаем, что под высокой нагрузкой сценарии будут отрабатывать раза в 2-3 дольше.
Исходя из этого рассчитываем нужное количество тредов.
источник

VG

Viktor Ganeles in QA — Load & Performance
А потом при помощи таймеров делаем что бы они (треды) после завершения итерации не начинали следующую сразу же, а выжидали заданное нами время.

Т.е. что бы каждый тред выполнял по операции каждые 12 секунд.

Выполнил операцию за 6 сек - и ещё 6 подождал.
Выполнил следующую за 3 сек - и ещё 9 сек подождал.

Выполнил за 10 сек - и ещё 2 подождал.
источник

D

Denis in QA — Load & Performance
Подскажите при нагрузочном тестировании необходимо на целевой тачке отключать гипертрединг?
Т.е. я например хочу увидеть потребление приложением процессорных ресурсов по каждому ядру, насколько будет оказывать влияние на чистоту теста включенный гипертрединг?
источник

VG

Viktor Ganeles in QA — Load & Performance
Denis
Подскажите при нагрузочном тестировании необходимо на целевой тачке отключать гипертрединг?
Т.е. я например хочу увидеть потребление приложением процессорных ресурсов по каждому ядру, насколько будет оказывать влияние на чистоту теста включенный гипертрединг?
зависит от того, что вашей системе важнее: распараллелить процессы или быстрее их выполнять.
источник

VG

Viktor Ganeles in QA — Load & Performance
на серверах БД по моему опыту выгоднее отключать
источник

VG

Viktor Ganeles in QA — Load & Performance
на APP - когда как.
источник

KY

Kirill Yurkov in QA — Load & Performance
@nikitozeg  но можно всем что тебе написали выше не заниматься и не мучать свою голову сложными концепциями, а сделать просто много тредов и поставить throughput shaping timer с заданными параметрами, приближенными к вашим.
дело в том, что пользователей, которых ты хочешь эмулировать их не существует - это абстракция. для сайта это условно 1 поток с которого идут запросы в каком-то порядке. для концептуально правильной нагрузки необходимо чтобы это запросы просто шли в похожем на прод количестве и всё. а то как это реализовано в jmeter - это абстракция и никакого отношения к концепции нагрузки не имеет, кроме привязок типа "тред" "запрос" и оперирования ими
источник

VG

Viktor Ganeles in QA — Load & Performance
но APP часто работают на виртуалках, а значит у них процессоры гипервизоров, а на гипервизорах практически всегда включены.
источник