Size: a a a

QA — Load & Performance

2021 April 05

P

Pengo in QA — Load & Performance
Спасибо
источник

ML

Maxim Laptev in QA — Load & Performance
Здравствуйте, помогите понять алгоритм, не знаю с использованием чего это сделать
в запрос передаю дату и время, мне нужно сделать 30 запросов, в каждый передаю день от 1 до 30, т.е генерация данных на каждый день

получить dataNow я могу скриптом, в груви загнать
String b1 = "${__timeShift(y-MM-dd HH:mm:ss,,,,)}";


как я могу делать +1 к дате, в каждом новом запросе, может ли jmeter сохранять значение и делать n+1 в каждой итерации?
источник

AK

Alexey Kübler-Ross in QA — Load & Performance
Функцией получаете дату сегодняшнюю, НО БЕЗ ДНЯ! А к ней канкатенируете нужный день 🤔 я бы взял счётчик и его бы плюсовал к дате, как первое что на ум приходит.
Но сразу вопрос с датой возникает, с какого дня, до какого дня 😅
К примеру с сегодняшнего +30, или можно всегда с первого?
источник

ML

Maxim Laptev in QA — Load & Performance
а сохраняется значение переменной с каждой итерацией?
источник

AK

Alexey Kübler-Ross in QA — Load & Performance
Все зависит от профиля вашего, забиться можно на многое, но смысл думаю понятен
источник

AK

Alexey Kübler-Ross in QA — Load & Performance
Можно на счетчик
источник

AK

Alexey Kübler-Ross in QA — Load & Performance
Можно на итерацию потока
источник

AK

Alexey Kübler-Ross in QA — Load & Performance
Да, оно обновляется перед  итерацией
источник

KY

Kirill Yurkov in QA — Load & Performance
последнее поле функции и timeshift это переменная, указываешь имя и передаешь туда результат каждый раз когда выполняешь
источник

GG

Gugo Groci in QA — Load & Performance
Поставь прометей и настрой process-exporter, он по идее умеет разбивать статистику по метрикам по tid потоков из /proc, там в доках всё написано. Телеграф не умеет. Для винды пришлось бы колхозить через Windows Debugging Tools.
источник

P

Pengo in QA — Load & Performance
О, спасибо
источник

СФ

Степа Фомичев... in QA — Load & Performance
У вас приложения, случайно, не в контейнерах?
источник

P

Pengo in QA — Load & Performance
нет. даже с виртуалками под esxi много вопросов
источник

СФ

Степа Фомичев... in QA — Load & Performance
Вам по сути нужно просто результат утилиты top запихнуто в influx, я бы в эту сторону копал
источник

P

Pengo in QA — Load & Performance
Сейчас вырисовываются три пути:
1. просто парсить top (первый кандидат)
2. логгирование из приложения
3. прометей
источник

СФ

Степа Фомичев... in QA — Load & Performance
Логгирование я бы отбросил. Слишком ебаная задача с эфемерной полезностью
источник

СФ

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

P

Pengo in QA — Load & Performance
я боюсь, что можно поймать очень мерзкие баги с пиками задержек, это будет хуже отсутствия мониторинга

ну и у разработчиков вагон и телега других проблем.
источник

ВС

Вячеслав Смирнов... in QA — Load & Performance
Мониторить потоки можно на bash.
Узнать PID процесса. Пусть это 1. А дальше развивать концепт:

for a in $(ls  /proc/1/task); do echo $a; done
for a in $(ls  /proc/1/task); do echo "thread_stat,threadID=$a maps_count=$(cat /proc/$a/maps | wc -l)"; done
...
Если делать раз в 60-90 секунд, то вполне годный мониторинг будет
источник
2021 April 06

VG

Viktor Ganeles in QA — Load & Performance
Возможно есть ещё один вариант.
Как я понял, у тебя потоки 1,2,3 занимаются задачей А, а потоки 4,5,6 - задачей Б

И важно понять, как ЗАДАЧИ тратят ресурсы а не потоки, верно?

Запусти несколько процессов и раздели задачи между ними: первый процесс занимается только задачей А, второй процесс только задачей Б

Конечно делать так можно только для отладки.
Но я сомневаюсь, что ты всё время будешь на эти потоки смотреть :)
Больше похоже на задачу «провести ряд конфигурационных тестов, найти оптимальные настройки и забыть»

Ну и если приложение не может работать только над задачей А или Б - не выйдет.
источник