Size: a a a

QA — Load & Performance

2021 September 14

ВС

Вячеслав Смирнов... in QA — Load & Performance
Использовал раньше OSFMount для Windows. Монтировал в него образы VirtualBox. Утилита работает хорошо. Быстрее диска
источник

D

DEADFACE in QA — Load & Performance
- можно попробовать отправлять файл прямо в base64 (если это не критично для корректности подаваемой нагрузки, и если это поддерживает сервер) с хидером "Content-Transfer-Encoding: base64"
- можно выгружать бинарщину во временные файлы и отправлять штатным сэмплером
- можно собирать и отправлять запрос программно (слямзить и поменять всё, что нужно, например, отсюда: https://github.com/apache/jmeter/tree/master/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler), манипулируя бинарными данными, а не строками
источник

VG

Viktor Ganeles in QA — Load & Performance
1 - не годится, в нашем случае сервер хочет именно сырые данные
2 - этот вариант как черновой.
3 - пытался собрать что-то такое в JSR223, не осилил. Но это лучшая идея, имхо.
источник

NM

NoEndOutcry💡🔋🚓 Mikst... in QA — Load & Performance
ну у современных nvme на pci-e 4, скорости до 7,9 Гбайт/с. Чего в нашем случае хватает с таким избытком что не понятно применение рамдиска. Другой вопрос что на более старом оборудовании конечно же рамдиск применять имеет смысл
источник

А

Апельсин in QA — Load & Performance
автепати, топы, что будет дальше?))
источник

jj

jagga jagga in QA — Load & Performance
остается только гадать, но надо уже заводить блокнотик для сбора перлов
источник

I

I-1 in QA — Load & Performance
А если сотни потоков параллельно пишут читают, скорость не сильно проседает?
Pci-e 4 не везде есть
источник

I

I-1 in QA — Load & Performance
Хотя оно может в кэше держаться
источник

NM

NoEndOutcry💡🔋🚓 Mikst... in QA — Load & Performance
Есть не везде, но мы все-таки в то время живем когда железо меняется довольно быстро. Кеши никто не отменял, но вообще я не могу конечно же 100% уверенностью говорить о преимуществах перед рамдиском, хотя бы потому что не сравнивал такие вещи на бою. Думаю рано или поздно подвернется проект где придется сравнить и выбрать лучшее.
источник

AA

Artem Astaxov in QA — Load & Performance
размер файла таки влияет не надо забывать, с мелкими файлами intel optane например получше если верить тестам
источник

NM

NoEndOutcry💡🔋🚓 Mikst... in QA — Load & Performance
Да, про это точно не стоит забывать
источник

AK

Alexander Kosich in QA — Load & Performance
Всем привет, подскажите плиз как при grpc запросе передать metadata в гатлинге?
Структурка такая
grpc("request_get")
     .rpc(ServiceGrpc.METHOD_GET_V1)
     .payload(GetRequestV1(param = param))
     .target(grpcConf)
     .check(statusCode is Status.Code.OK)

в метаданных нужно передать такую структурку
{"x-Request": "11111", "id": "123123", "Debug-Id": "3837", "Request": "11111"}
источник

MM

Mm Mm in QA — Load & Performance
зависит от типа нагрузки (например, нужно высокопроизводительная сеть), также зависит от лоад генератора, например если это гатлинг или жеметер (в общем что то на jvm) то нужно что то минимум двух ядерное (в большинсве случае хватает t2.medium). пямять — тоже зависит от типа нагрузки (например для вебсокетов нужно будет чуть больше озухи (т.к. коннект всегда живет), для обычных хттп, скорее всего нужно будет меньше (т.к. реквест-респонс), но это если в сессии не хранить ничего очень большого). одно ядро не позволит сделать равномерную нагрузку, т.к. не выйдет нормально жить с гарбаж коллектором — параллельный гц не едет, а обычный будет делать стоп ворлд со всеми вытекающими (будут спайки в нагрузке — 1. гц стопает мир для уборки, 2. реквесты, которые нужно отправить копятся, 3. гц отпускает, 4. реквесты отправляются сразу всей толпой (спайк), 4.1 (опционально) от этого мусор собирается еще быстрее 5. гоуту шаг 1)
источник

MM

Mm Mm in QA — Load & Performance
так что общий совет какой то такой: 2 ядра обязательно, остальное смотри по обстоятельствам
источник

NN

Nobody Noname in QA — Load & Performance
+ ок, а наблюдения по жметру в докере есть? насколько сильно там оверхед от докера? надо ли тюнить докер как например саму ось для лучшего перформанса?
источник

MM

Mm Mm in QA — Load & Performance
докер фактически никакого оверхеда не дает, т.к. формально контейнер это просто линуховый процесс (с некоторыми ньюансами). также если ничего дополнительного с контейнером не делать, то затюненой оси достаточно.
источник

MM

Mm Mm in QA — Load & Performance
вот (утащил из видоса в закрепе) https://bell-sw.com/announcements/2020/10/28/JVM-in-Linux-containers-surviving-the-isolation/ хорошая статья по жвм в контейнере
источник

PB

Pavel Bairov in QA — Load & Performance
источник

MM

Mm Mm in QA — Load & Performance
кстати, а может кто знает как в гатлинге 3+ сделать асинхронные вебсокеты?
источник

AK

Alexander Kosich in QA — Load & Performance
да спасибо, пока так топорно сделал как в примере от сюда, через создание дополнительно utils. Если это норм решение то ок) Тогда еще такой вопрос, если я токен получаю при запросе rest, а его мне нужно прокинуть в grpc такое вообще можно сделать как нибудь? Другими словами я могу использовать 2 протокола при прогоне одного сценария? - Разобрался!) p.s. grpc можно прокинуть с параметром target, а в основной сценарий пробросить httpProtocol
источник