Size: a a a

QA — Load & Performance

2021 May 22

ВС

Вячеслав Смирнов... in QA — Load & Performance
https://habr.com/ru/company/dataart/blog/273967/
Простая инструкция, но годная

Генератор нагрузки рекомендую разместить там же где и серверы. Не через интернет нагружать
источник

Y

Yerzhan Aktanov in QA — Load & Performance
это я подготовил 2 сервера с 32cpu и 196гб озу
источник

ВС

Вячеслав Смирнов... in QA — Load & Performance
Вот это сомнительно, что рекордером. Статитические ресурсы с ним удобно в скрипт передавать, а регистрацию - не получится
источник

ВС

Вячеслав Смирнов... in QA — Load & Performance
Перебор. Лучше уж 10 серверов и характеристики в 10 раз меньше
источник

Y

Yerzhan Aktanov in QA — Load & Performance
ну типа эмуляцию 1 юзера
источник

Y

Yerzhan Aktanov in QA — Load & Performance
почему? linux?
источник

ВС

Вячеслав Смирнов... in QA — Load & Performance
Скрипт выглядит несложным - отправить форму, получить в ответ JSON, снова отправить форму.

Для такого не надо будет 196 ГБайт ОЗУ. И даже если столько ОЗУ выделить одному JMeter (Одной JVM) и эта JVM решит собрать мусор, то она будет 10-20 секунд это делать

Лучше 20 таких, по 10 ГБайт ОЗУ, раз уж есть ресурс.
источник

Y

Yerzhan Aktanov in QA — Load & Performance
ну ресурсов хватает
источник

Y

Yerzhan Aktanov in QA — Load & Performance
а если есть файлы csv их нужно раскидать по серверам и они не должны быть одинаковыми?
источник

ВС

Вячеслав Смирнов... in QA — Load & Performance
Масштабность вы описали хорошо. Попробуйте запустить тест теперь. Самый простой
Thread Group, с RumpUp с 1 до 100 потоков за 5 минут, и сам тест на 30 минут, например. Одним генератором. Отладьте его
источник

ВС

Вячеслав Смирнов... in QA — Load & Performance
Мне было удобно создавать файлы в имени которых - имя генератора. А потом в CSV Dataset Config использовать при задании пути к файлу функцию, в которой получается hostname.

https://jmeter.apache.org/usermanual/functions.html#__machineIP
или эту:
https://jmeter.apache.org/usermanual/functions.html#__machineName
источник

Y

Yerzhan Aktanov in QA — Load & Performance
источник

Y

Yerzhan Aktanov in QA — Load & Performance
почитаю
источник

Y

Yerzhan Aktanov in QA — Load & Performance
можете пример пож показать?
источник

ВС

Вячеслав Смирнов... in QA — Load & Performance
Да, не должны пересекаться. Я хранил все в git, если файлы всего 5-10 МБайт и их всего 10 штук, то это удобно.

А файлы формировать можно по разному. В pandas (python), например
источник

Y

Yerzhan Aktanov in QA — Load & Performance
если 10 серверов, то я запускаю Number of Threads (user) 5000 ? рамп 1
источник

ВС

Вячеслав Смирнов... in QA — Load & Performance
источник

ВС

Вячеслав Смирнов... in QA — Load & Performance
Нет, хватит 100 для начала
источник

ВС

Вячеслав Смирнов... in QA — Load & Performance
Технически работать сможет не более 32-х потоков сразу. Ядер то всего 32. Но так как потоки будут ждать сервер, а не все время работать, то разумно увеличить количество потоков. 5000 - очень много, так много можно делать для некоторых очень медленных систем. А тут не такая же система, в ней критично время отклика. Больше 1000 потоков не стал бы делать. А если зависнет все, то и добивать нагрузкой нет смысла - уже ясно, зависло

В присланном сценарии подьем осуществляется за 300 сек (5 минут) - это очень мало так-то. Увеличьте это время до 10-ти  20-ти минут. Потому что даже 100 потоков смогут положить сервер полностью. Таймеров в сценарии нет. Как видите
источник

ВС

Вячеслав Смирнов... in QA — Load & Performance
Вот так запустите и уведите при каком значении RPS ваш сервер перестает отвечать требованиям. Например, увидите, что при 80 RPS по транзакции Registration (TC), она в HTML-отчете будет видна тут:

Transactions per second (Includes Transaction Controller Sample Results):
https://jmeter.apache.org/usermanual/generating-dashboard.html

И получив эту первую оценку, уже можно будет планировать какую-то нагрузку. Считать количество потоков. Сколько надо железа для нагрузки. ...
источник