Size: a a a

QA — Load & Performance

2021 April 27

ВС

Вячеслав Смирнов... in QA — Load & Performance
Надо сделать и group by time(..)
источник

ВС

Вячеслав Смирнов... in QA — Load & Performance
Без этого да, останется одно значение
источник

PB

Pavel Bairov in QA — Load & Performance
Вообщем написал я вопрос и сделал очередную попытку и получилось
магия состоит в том что бы добавить  onEmpty: "keep" в filter
источник

PB

Pavel Bairov in QA — Load & Performance
Но там есть прикол что “восстанавливаются” заново все таблицы которые я до этого отфильтровал
пришлось делать и групировку и новый фильтр на поле, а потом ещё сделать сумму значений по колонке…
источник

PB

Pavel Bairov in QA — Load & Performance
from(bucket: "gatling")
   |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
   |> filter(
       fn: (r) => r["_measurement"] == "gatling" and
       r["simulation"] == "example" and
       r["request"] == "allRequests" and
       r["status"] == "ok" and
       r._field =="mean" and
       r._value > 35 and
       r._value < 1000,
       onEmpty: "keep"
   )
   
   |> count()
   |> group(columns: ["_time"], mode:"by")
   |> filter(fn: (r) => r["_field"] == "mean")
   |> sum(column: "_value")
   
оставлю, вдруг кому-то пригодится
источник

A

Andrew in QA — Load & Performance
Буквы Д не хватает ;)
источник

AI

Aleksei Isaev in QA — Load & Performance
Его надо уметь готовить )))
источник

jj

jagga jagga in QA — Load & Performance
не смешите мои тапочки
источник

A

Andrew in QA — Load & Performance
Так в чем трюк-то? Я даже повторил. Вывод - onEmpty: "keep" работает? :)
источник

PB

Pavel Bairov in QA — Load & Performance
да, работает
источник

VG

Viktor Ganeles in QA — Load & Performance
Переслано от Alexander From
источник

VG

Viktor Ganeles in QA — Load & Performance
Онлайн стрим
источник

АК

Андрей Коломытов... in QA — Load & Performance
А где про такое узнавать заранее? 🙂
источник

АК

Андрей Коломытов... in QA — Load & Performance
Ага, там не чисто нагрузка, а вообще. Есть интересное, спасибо.
источник

A

Andrew in QA — Load & Performance
Просто стало интересно, сам еще к Flux только первые подходы делаю. Вот так тоже вроде работает:

from(bucket: "test1")
 |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
 |> filter(fn: (r) => r["_measurement"] == "msrm")
 |> map(fn: (r) => ({ r with _value: if r._value>35 then 1 else 0 }))
 |>sum()
источник

VG

Viktor Ganeles in QA — Load & Performance
Про минус балансировки между серваками «по количеству коннектов» очень интересную мысль сказал:

Если один из серваков помер (например, отвалился от базы) и на все запросы моментально отвечает http=500 - балансировка «по коннектам» будет скидывать большинство запросов на такой дохлый сервер.

Вместо этого рекомендуется использовать алгоритм pwr2 (если я верно расслышал) - по нему сервера возвращают балансировщику инфо о своей загрузке
источник

AA

Artem Astaxov in QA — Load & Performance
Если отвалился от базы разве нагрузка не упадёт?
источник

AA

Artem Astaxov in QA — Load & Performance
Серваки/системы с очередями например при не доступности смежных систем оч сильно разгружаются и затем загружаются при доступности и вычитке очереди
источник

AA

Artem Astaxov in QA — Load & Performance
🤔
источник

GG

Gugo Groci in QA — Load & Performance
PC не смотрел, под рукой LR\VUGen 2.63.
Только в VUGen 2.5 тыс. папок, 26 тыс. файлов, 1 хром, 1 firefox, 2 node.js, модули на Visual C++, Borland C++, Delphi, Python, Go, Node.JS, C#, Java. Это только что быстро находится.
Скрипты можно писать на C, C++, JS, C#, Java, VBscript, JScript, причем функциональность везде разная.
С и С++ работают через прямые вызовы библиотек, при этом С++ почти не документирован, есть только несколько примеров.
JS работает через Google V8 \ Node.JS.
C# через свою обвязку, может это COM, не смотрел.
VBscript, JScript - через COM\WSH.
У Java своя обвязка, скорее всего обычный JNI, не интересно копать глубже.
С-скрипты выполняются так: (частично это описано в доках) сначала работает препроцессор cpp.exe - это стандартный GNU-тый препроцессор, как они его в коммерческий софт засунули мне непонятно. Он делает из исходников файл pre_cci.c. Его исполняет cci.exe - это фронт (парсер, токенизатор, лексер) от проекта lcc (который тоже в общем-то нельзя использовать в коммерческом софте), к которому прикрутили генератор байт-кода (в проекте lcc его нет). cci.exe на выходе даёт Vugen.ci, в котором байт-код вашего исходника. Потом этот файл с байт-кодом передаётся на вход mdrv.exe, который передаёт его на вход интерпретатору С (vm.dll). Интерпретатор тоже, судя по-всему, местная разработка. Возможно, когда Mercury начала делать LR, еще не было готовых, они и написали свой.
В целом LR напоминает большую кучу из удобрений и палок, связанную синей изолентой. Видно, что когда это перешло к HP, они что-то стали переписывать на Go, но далеко не ушли :)
источник