Size: a a a

QA — Load & Performance

2021 September 04

VG

Viktor Ganeles in QA — Load & Performance
я чёт туплю сегодня. спал мало :(

Как удобно отобразить эти самые пропущенные пики?
Если снимать данные раз в 10 сек - и между точками сбора данных был пик, но уже кончился - что ты увидишь на графике?
источник

VG

Viktor Ganeles in QA — Load & Performance
тут я, наверное, вопроса не понял.
Можно пример?
источник

A

Alex in QA — Load & Performance
Ну вот есть сервис и он например просто пишет все запросы, у него есть метрика "сколько запросов прнял".
Как без накопительной метрики сделать её, что бы было удобно забирать эти данные кучей всяких телеграфов, забиксов, экспортеров и тп?
источник

VG

Viktor Ganeles in QA — Load & Performance
типа выводить производительность, сколько запросов в минуту пришло?
тут накопительные данные не нужны.
Например - раз в 5 сек скидываешь информацию, сколько запросов за это время пробежало.

Если у тебя эти данные собираются разными агентами - то оке, в самой софтинке, что отдаёт данные конечно придётся отдавать накопительную метрику (как бы её не раздуло до бесконечности), но агенты в свою базу-то могут писать уже реальные цифры: "собираю раз в 5 сек, за последние 5 сек пришло Х запросов"

Анализировать-то всё равно удобнее график в виде синусоиды а не в виде горы, ползущей вверх
источник

A

Alex in QA — Load & Performance
>тут накопительные данные не нужны.
Например - раз в 5 сек скидываешь информацию, сколько запросов за это время пробежало.

куда скидываешь? И почему раз в 5сек, а не раз в 100мс или раз в минуту?
Накопительная как раз позволяет отвязаться от всего этого и делать то что тебе нужно на стороне экспортеров
источник

A

Alex in QA — Load & Performance
>Анализировать-то всё равно удобнее график в виде синусоиды а не в виде горы, ползущей вверх
никто не мешает сделать это на стороне экспортера и писать только increase\rate\etc
источник

A

Alex in QA — Load & Performance
Какие то метрики CLR на винде кстати такие как ты пишешь, ну почти. Там что то типа - отдам все кол-во exception которые произошли с момента последнего скарпинга. И это на самом деле еще не удобнее в реальности
источник

A

Alex in QA — Load & Performance
>(как бы её не раздуло до бесконечности)
спойлер - в реальности они доходят до какого нить int32 и обнуляются))
источник

I

I-1 in QA — Load & Performance
Просто чтобы быть уверенным что я правильно понял о чем речь.

Если мы не говорим про агрегации данных (90pcr, среднее, максимум и подобное)

Правильно ли утверждать, что:

И накопительная и ненакопительная метрики имею частоту сбора метрик (обновления значения)

Накопительная метрика - Метрика, которая отображает абсолютное значение (например, запросов) с момента начала её сбора (хоть несколько лет)

Не накопительная - отображает абсолютное значение (например запросов) за период сбора метрики.

Или речь о чем-то немного другом?
источник

I

I-1 in QA — Load & Performance
Разве накопительная метрика не привязана к частоте снятия показателей этой самой метрики?
Там ведь тоже приходится выбирать раз в 5сек, раз в 100мс или раз в минуту их обновлять.
Я не про считывание из агента в дб. А именно про сами замеры через апи системные или приложения.
источник

A

Alex in QA — Load & Performance
Нет, накопительная метрика НЕ собирается на стороне приложения, она просто делает +1 при каждом запросе. Да, там есть пару ns задержки, но это не "сбор" метрик
источник

I

I-1 in QA — Load & Performance
А как она узнает что пора сделать +1?
источник

I

I-1 in QA — Load & Performance
Как аген узнает, что у нас ещё один запрос пришел. Я так понимаю идет опрос системных апи или апи того самого приложения, где идет +1 к счетчику
источник

A

Alex in QA — Load & Performance
агент - никак, он идет по API и просто забирает текущее значение накопительной метрики
источник

A

Alex in QA — Load & Performance
Можешь хоть раз в 1ms ходить, если апи позволяет
источник

I

I-1 in QA — Load & Performance
Вот, и даже при накопительной метрике, он привязан к частоте опроса
источник

A

Alex in QA — Load & Performance
Как он привязан?
источник

I

I-1 in QA — Load & Performance
Сами же сказали что 1мс выставили
источник

A

Alex in QA — Load & Performance
агент знает 2 вещи:
1. время когда он получил данные
2. сами данные

На основе этого он может высчитать всё что ему нужно. Агентов может быть N штук, и каждый может ходить с разными - нужными ему интервалами.

Если сделать метрики "кол-во запросов за последние 5 минут", ты такое не провернешь.
источник

I

I-1 in QA — Load & Performance
Если агенты ходят раз в 5мин
И если они ходят раз в 1мс
Тут разница понятна, разрешение гораздо выше получается
А как это соотносится с накопительными и ненакопительными я не очень понял
источник