Size: a a a

QA — Load & Performance

2020 August 04

KY

Kirill Yurkov in QA — Load & Performance
Viktor Ganeles
Огромный отчёт «по ПМИ» имхо нужен в случае, если НТ проводится редко и не своей командой, а подрядчиком

Во-первых потому, что если нт делается редко - то интересны даже графики, показывающие отсутствие утилизации - именно что бы знать: «на этих узлах даже под нагрузкой всё спокойно»

Во-вторых потому, что редкое нт делается под конкретную ситуацию, и там, может быть, и результаты кто-нибудь изучит подробно

В третьих - что бы показать, что подрядчик чем-то занимался все 4-6 месяцев, пока проект шёл :)


Для обычных регулярных тестов «отчёт по ПМИ» не особо нужен.

Ps под «отчёт по ПМИ» я подразумеваю отчёт страниц на сто, где отдельно приводятся куски мнт, схемы систем, профиль нт, список проведённых тестов, все графики и тд.


P.p.s Слава-то говорил о глубоких исследованиях под рядовые отчёты. Насколько нужно упарываться ради качества отчётов, которые всё равно, скорее всего, не читают. И, насколько я знаю Славу, ради качества он будет стараться очень глубоко :)
мне кажется такое бюрократическое насилие сейчас крайне редко встречается. хотя может банкинг в этом живет
источник

VG

Viktor Ganeles in QA — Load & Performance
Kirill Yurkov
мне кажется такое бюрократическое насилие сейчас крайне редко встречается. хотя может банкинг в этом живет
Подрядчики.
источник

KY

Kirill Yurkov in QA — Load & Performance
аутсорсы - это да. там контроль во главе стола, еще трудозатраты списывай в 50 систем учета)
источник

VG

Viktor Ganeles in QA — Load & Performance
Меня перевели с проекта в втб как раз перед тем, когда там начали списывать время  :)
Так что повезло.
источник

S7

Sam 7 in QA — Load & Performance
Всем привет. Вроде тут писали о такой проблеме, но что то не могу найти. Нужно отключить кеширование DNS в JMeter
источник

М

Матвей in QA — Load & Performance
Здраствуйте, у меян вопрос, я не очень опытен в нагрузочном, но есть задача провести нагрузку продукта на 210 000 тредов, девопс запускавший нагрузку на нагрузоной машине отписался что уже 200 тредов упираются в лимит 4гб памяти и jmeter падает от oomkiler'a, вопрос какие выводы я могу из этого сделать? сами нагрузочные тесты написаны плохо или продукт сам по себе не держит нагрузки ? подскажите пожалуйста
источник

KY

Kirill Yurkov in QA — Load & Performance
Скорее задача поставлена неверно. 210000 тредов != 210000 пользователей. Всё очень просто, если у вас 210к пользователей, делают 1000 запросов в секунду. То имитировать это количество пользователей могут и 1000 тредов, которые будут делать 1 запрос в секунду каждый.
То что jmeter упал на 200 тредах, может сказать о разных вещах, могут быть неоптимальные скрипты, а может быть установлен маленький размер heap в исполнительном файле jemter
источник

ВС

Вячеслав Смирнов... in QA — Load & Performance
Sam 7
Всем привет. Вроде тут писали о такой проблеме, но что то не могу найти. Нужно отключить кеширование DNS в JMeter
Есть DNS Config, где можно настроить DNS Flush каждую итерацию
источник

S7

Sam 7 in QA — Load & Performance
Вячеслав Смирнов
Есть DNS Config, где можно настроить DNS Flush каждую итерацию
это в проперти джиметра?
источник

ВС

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

jj

jagga jagga in QA — Load & Performance
Sam 7
это в проперти джиметра?
есть другой вариант - стреляешь в IP цели или балансера с передачей хэдера Host
источник

jj

jagga jagga in QA — Load & Performance
Матвей
Здраствуйте, у меян вопрос, я не очень опытен в нагрузочном, но есть задача провести нагрузку продукта на 210 000 тредов, девопс запускавший нагрузку на нагрузоной машине отписался что уже 200 тредов упираются в лимит 4гб памяти и jmeter падает от oomkiler'a, вопрос какие выводы я могу из этого сделать? сами нагрузочные тесты написаны плохо или продукт сам по себе не держит нагрузки ? подскажите пожалуйста
тесты и машинки их запускающие
источник

jj

jagga jagga in QA — Load & Performance
не настроены и не оптимизированы
источник

ВС

Вячеслав Смирнов... in QA — Load & Performance
Матвей
Здраствуйте, у меян вопрос, я не очень опытен в нагрузочном, но есть задача провести нагрузку продукта на 210 000 тредов, девопс запускавший нагрузку на нагрузоной машине отписался что уже 200 тредов упираются в лимит 4гб памяти и jmeter падает от oomkiler'a, вопрос какие выводы я могу из этого сделать? сами нагрузочные тесты написаны плохо или продукт сам по себе не держит нагрузки ? подскажите пожалуйста
Видимо тесты запускаются с включенным View Result Three в режиме GUI. Запустите в режиме без GUI
источник

ВС

Вячеслав Смирнов... in QA — Load & Performance
Потому что тесты в 200 потоков падать при 4 ГБайт памяти могут только если там скачиваются большие ответы (100 Мбайт , музыка, фильмы) и передаются в Postprocessor-ы в таком объеме.

И если это не так, то более вероятная причина - GUI режим, при котором ответы и запросы накопились во View Result Three
источник

ВС

Вячеслав Смирнов... in QA — Load & Performance
Ещё поставьте галочки кеширования байт кода в JSR-223 компонентах.

Убедившись перед этим, что там обращения к переменным
${varName}
Заменены на получение переменных по имени:
vars.get("varName")
Иначе сломается логика работы сценария - первое значение переменной закешируется
источник

ВС

Вячеслав Смирнов... in QA — Load & Performance
Спасибо за профессиональные ответы по вопросу отчётов по нагрузке

* https://t.me/qa_load/26597
* https://t.me/qa_load/26599
* https://t.me/qa_load/26606
* https://t.me/qa_load/26611
* https://t.me/qa_load/26641
* https://t.me/qa_load/26642

Я пока написал два отчёта. Сделал их подробными, потому что это первое знакомство с новой системой. Отчёты "для себя". И по ходу написания автоматизировал с коллегами подготовку данных для них. Выбрал ссылки на полезные мониторинги из десятков имеющихся, добавил пяток нужных. Дальше должно быть проще быстрее. Регулярно писать большие отчеты сложновато
источник

М

Матвей in QA — Load & Performance
Вячеслав Смирнов
Ещё поставьте галочки кеширования байт кода в JSR-223 компонентах.

Убедившись перед этим, что там обращения к переменным
${varName}
Заменены на получение переменных по имени:
vars.get("varName")
Иначе сломается логика работы сценария - первое значение переменной закешируется
Спасибо большое сейчас посмотрю
источник

ВС

Вячеслав Смирнов... in QA — Load & Performance
Матвей
Спасибо большое сейчас посмотрю
И как верно сказал Кирилл. 210 000 вам не надо. Уложитесь в 2000-3000 максимум. Сделайте для простоты 200 потоков всего без таймеров и посмотрите сколько TPS они дадут, какие показатели получите.

Если показатели по нагрузке будут лишь в 2 раза меньше, чем ожидаемые от 210 000 людей, то добавьте ещё 200.

А в БД надо будет сгенировать 210 000 человек и их данные. Но это уже к JMeter не имеет отношения
источник

KY

Kirill Yurkov in QA — Load & Performance
jagga jagga
есть другой вариант - стреляешь в IP цели или балансера с передачей хэдера Host
там может быть трабл в парсинге того самого Host, потому что jmeter туда еще по дефолту еще и порт сует если он указан. чтобы этого не было нужно запускать с параметром -Dsun.net.http.allowRestrictedHeaders=true
источник