Size: a a a

QA — Load & Performance

2020 July 10

r

raido in QA — Load & Performance
ща
источник

r

raido in QA — Load & Performance
там локалка заказчика
источник

KK

Konstantin Kalinin in QA — Load & Performance
Коллеги, а есть у кого идеи как JVM MetaSpace по-быстрому заполнить? Нужно для параметризации JMeter.
источник

A

Alex in QA — Load & Performance
Я видимо не до конца шарю, но мне стало интересно. Как связан метаспейс и параметризация jmeter?
источник

AK

Alexey Kübler-Ross in QA — Load & Performance
Konstantin Kalinin
Коллеги, а есть у кого идеи как JVM MetaSpace по-быстрому заполнить? Нужно для параметризации JMeter.
Например положить почти в размер меты файл в жарник? 🤔🤷‍♂ Но тогда может не запустится, надо вспомнить что там ещё лежит...
источник

AK

Alexey Kübler-Ross in QA — Load & Performance
Проинициализировать много разных классов...
источник

AK

Alexey Kübler-Ross in QA — Load & Performance
Alex
Я видимо не до конца шарю, но мне стало интересно. Как связан метаспейс и параметризация jmeter?
Да, мне тоже интересна цель сия деятельности
источник

KK

Konstantin Kalinin in QA — Load & Performance
Alexey Kübler-Ross
Проинициализировать много разных классов...
Ну вот это как-то не приходит в голову как провернуть. Их же надо описать для начала. Так себе перспектива выглядит объявлять 10к "разных" классов.

С джарником предположение проверю, спасибо.
источник

AK

Alexey Kübler-Ross in QA — Load & Performance
Konstantin Kalinin
Ну вот это как-то не приходит в голову как провернуть. Их же надо описать для начала. Так себе перспектива выглядит объявлять 10к "разных" классов.

С джарником предположение проверю, спасибо.
МС= 250мб, jar = 20мб, значит можно положить файл 220мб. Открыть жарник архиватором и положить туда файл ...

Имхо - тиоретически должно сработать
источник

AK

Alexey Kübler-Ross in QA — Load & Performance
Не изголялся так 🤣
источник

AK

Alexey Kübler-Ross in QA — Load & Performance
Konstantin Kalinin
Ну вот это как-то не приходит в голову как провернуть. Их же надо описать для начала. Так себе перспектива выглядит объявлять 10к "разных" классов.

С джарником предположение проверю, спасибо.
Так зачем это делать?
источник

KK

Konstantin Kalinin in QA — Load & Performance
Надо проверить какова реальная ситуация с MaxMetaSpace, когда задаются значения >1Гб. JFR и подобные тулзы все равно говорят, что лимит 1Гб в таких ситуациях
источник

A

Alex in QA — Load & Performance
Можно джаваасистом или около того нагенерить, только зачем?
источник

AK

Alexey Kübler-Ross in QA — Load & Performance
Вот, вопрос зачем?)))
источник

AK

Alexey Kübler-Ross in QA — Load & Performance
Konstantin Kalinin
Надо проверить какова реальная ситуация с MaxMetaSpace, когда задаются значения >1Гб. JFR и подобные тулзы все равно говорят, что лимит 1Гб в таких ситуациях
Тогда уж вопрос, вы мониторинг то сделали?
источник

AK

Alexey Kübler-Ross in QA — Load & Performance
Какая ситуация с метоспейсом?
источник
2020 July 11

H

He in QA — Load & Performance
I didn't believe I can make this profit in few days
WhatsApp: +1 260-577-3592
https://t.me/joinchat/AAAAAEvwvt9nRvCWi5XOzg
источник

I

Ilya in QA — Load & Performance
Всем привет!

А кто как обновляет токены авторизации? У меня задача, происходит логин, дальше loop controller и выполняется несколько запросов и надо раз примерно в минуту дернуть обновление токена.
Я сделал через JSR223 Post Processor и if controller.
В первом реквесте в loop срабатывает пост-процессор, который устанавливает флаг обновления токена (идет проверка, если больше 60 секунд прошло, так что не будет всегда строго 60 секунд, но не страшно). Дальше есть if controller, который проверяет флаг и внутри вызов реквеста обновления токена, который у себя в пост-процессоре сбрасывает флаг и ставит отметку выполнения. Работает, но какое-то внутреннее ощущение велосипеда.

ЗЫ: проверять результат реквеста и вызывать функцию обновления не предлагать. Надо превентивно обновлять.
источник

A

Alex in QA — Load & Performance
так и делаю обычно, ну по логике. Можно еще в отдельном потоке обновлять
источник

ВС

Вячеслав Смирнов... in QA — Load & Performance
Можно делать сложнее. Чтобы один поток получал токены и клал бы их в структуру:

def token = [:]
token ["endTime"]= System.currentTimeMillis()+60*1000;
token ["token"]=vars.get("token")

А структуру в общую очередь:
LinkedBlockingQueue queue = props.getObject("queue");
queue.add(token);


А в коде основного потока брать токены, ещё не истекшие возвращать в очередь, истекшие просто пропускать.

LinkedBlockingQueue queue = props.getObject("queue");
def isFind = false;
while(!isFind){
def token = queue.take();
if(token["endTime"]<System.currentTimeMillis()){
 vars.put("token", token["token"]);
 queue.add(token);
 isFind=true;
}

}
источник