171 похожих чатов

У кого-то на примете есть статьи о производительности запросов в

прометее? Хочу понять насколько плохо допустим, если запрос смотрит на месяц назад. И как это вообще оценивать.

5 ответов

16 просмотров

оценивать имхо надо колво точек в переборе

Navern- Автор вопроса

Хочется от каких-то цифр отталкиваться. Чтобы понимать примерно много это или мало. Не хватает какого-то explain'а :) еще непонятно насколько это критично в алертах например

https://t.me/VictoriaMetrics_ru1/22292

статьи нет ( Если в двух словах, то время выполнения запроса в прометее складывается из двух основных частей: 1) Время на поиск рядов по заданным фильтрам, к которым относятся имена метрик плюс фильтры по лейблам. Например, foo{bar="baz",x=~"a|b.+c"} - тут foo - фильтр по имени метрики, а bar="baz" и x=~"a|b.+c" - фильтры по лейблам bar и x. Поиск рядов работает примерно так - находятся отдельные ряды по каждому из указанных в запросе фильтру, после чего находятся общие ряды, присутствующие во всех фильтрах. Чем больше рядов может быть найдено по одному из указанных фильтров, тем медленнее будет выполняться поиск. Фильтры по регекспам обычно выполняются медленее фильтров по полному совпадению. 2) Время на обработку точек в найденных рядах. Чем больше точек в найденных рядах, тем медленнее будет выполняться запрос. Количество точек зависит от следующих параметров: - от количества найенных рядов на шаге 1 - чем больше рядов, тем больше точек. - от scrape interval'а для найденных рядов - чем меньше scrape interval, тем больше точек. - от интервала, на котором выполняется запрос - чем больше интервал, тем больше точек. Скорость обработки точек зависит от применяемых в запросе функций и от количества запрошенных точек, которые должен вернуть запрос. Графана обычно запрашивает столько точек, сколько пикселей на графике по горизонтали. Самые "тяжелые" функции - те, для которых нужно делать вычисления по всем оригинальным точкам на lookbehind интервале, указанном в квадратных скобках. Например, это holt_winters() и quantile_over_time(). Эти вычисления нужно повторять независимо для каждой возвращаемой из запроса точки. Поэтому чем больше интервал в квадратных скобках и чем больше точек возвращает запрос, тем дольше будет выполняться запрос.

Navern- Автор вопроса

Круто, спасибо за такой подробный ответ

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта