Size: a a a

QA — Load & Performance

2019 November 12

VG

Viktor Ganeles in QA — Load & Performance
Но вызывает удивление то, что vmware консолька говорит, что на всю vm ушло меньше памяти, чем top показывает памяти на java-процесс
источник

ΙΤ

Ιωάννης Τσεκούρι in QA — Load & Performance
Viktor Ganeles
Ребят, есть вопрос:

- на виртуалке запущен Java-процесс с ограничением хипа в 8 гб
- в какой-то момент запустили TOP и увидели, что процесс java потребляет 20 гб
- мониторинг гипервизора говорит, что виртуалка использует меньше 20 гб памяти


Я подозреваю, что причина в динамической памяти виртуалки и что top неверно определяет потребление памяти процессами в ситуации, когда память выделялась и отдавалась обратно.

Но не уверен. Есть идеи?
vmstat?
источник

VG

Viktor Ganeles in QA — Load & Performance
Это прод, так просто пострелять командами мне не дадут. Но я запрошу
источник

ΙΤ

Ιωάννης Τσεκούρι in QA — Load & Performance
Viktor Ganeles
Это прод, так просто пострелять командами мне не дадут. Но я запрошу
пусть порт jmx откроют, присоединись visualvm
источник

VG

Viktor Ganeles in QA — Load & Performance
И рута попрошу заодно
источник

A

Artyom in QA — Load & Performance
Выставить Xms = Xmx, задать конкретный метаспейс и не париться / знать, сколько у вас макс может жрать Java
источник

VG

Viktor Ganeles in QA — Load & Performance
Это можно сделать, но когда узнаем, в чём дело.
Нельзя просто так рубануть настройки прода - вдруг всё перестанет работать в середине дня :)

Будем экспериментировать в тестах.
источник

Y

Ye in QA — Load & Performance
Viktor Ganeles
Это можно сделать, но когда узнаем, в чём дело.
Нельзя просто так рубануть настройки прода - вдруг всё перестанет работать в середине дня :)

Будем экспериментировать в тестах.
Да небось off-heap аллокации?
источник

VG

Viktor Ganeles in QA — Load & Performance
Похоже на то.
Вечером дампов сделают, будем искать
источник

KK

Konstantin Kalinin in QA — Load & Performance
@vladimirsitnikv , а то, что параметр командной строки JMeter -j регулирует только stdout - это так и задумывалось? Знаешь что-нибудь об этом?
источник

KK

Konstantin Kalinin in QA — Load & Performance
Столкнулся с тем, что -Djavax.net.debug=ssl по какой-то причине шлет все в stderr, и у меня по поводу этого всего диссонанс случился
источник

VS

Vladimir Sitnikov in QA — Load & Performance
Konstantin Kalinin
@vladimirsitnikv , а то, что параметр командной строки JMeter -j регулирует только stdout - это так и задумывалось? Знаешь что-нибудь об этом?
Речь про обычный режим или distributed?

Я так понимаю, -j никогда stdout не перенаправляет.
Оно указывает куда пишется лог, который обычно идёт в bin/jmeter.log
источник

VS

Vladimir Sitnikov in QA — Load & Performance
хотя, неважно. В коде JMeter’а вообще нет System.setOut/setErr
источник

KK

Konstantin Kalinin in QA — Load & Performance
Обычный режим. Да, все правильно, но почему-то туда идет только stdout. Сообщения, отправляемые в stderr не попадают в этот лог.
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Konstantin Kalinin
Столкнулся с тем, что -Djavax.net.debug=ssl по какой-то причине шлет все в stderr, и у меня по поводу этого всего диссонанс случился
Если у вас какая-то проблема с ssl и JMeter, то рискну предположить, настройки, что использовал раньше смогут помочь:

-Dhttps.protocols=TLSv1.2 -Djdk.tls.client.protocols=TLSv1.2 -Djsse.enableSNIExtension=false


При них JMeter использовал tls1.2 вместо 1.1, а распределённый запуск не падал
источник

AK

Alexey Kübler-Ross in QA — Load & Performance
Вячеслав Смирнов
Если у вас какая-то проблема с ssl и JMeter, то рискну предположить, настройки, что использовал раньше смогут помочь:

-Dhttps.protocols=TLSv1.2 -Djdk.tls.client.protocols=TLSv1.2 -Djsse.enableSNIExtension=false


При них JMeter использовал tls1.2 вместо 1.1, а распределённый запуск не падал
#TLS #SSL
источник

AK

Alexey Kübler-Ross in QA — Load & Performance
👍
источник

KK

Konstantin Kalinin in QA — Load & Performance
На самом деле надо просто получить подтверждение, что проблема на стороне цели. Там какая-то плавающая ерунда, проявляющаяся в особых условиях: то ли шифры на ходу меняются, то ли коннекты, которые не должны были переиспользоваться, это делают - не понятно пока.
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Konstantin Kalinin
На самом деле надо просто получить подтверждение, что проблема на стороне цели. Там какая-то плавающая ерунда, проявляющаяся в особых условиях: то ли шифры на ходу меняются, то ли коннекты, которые не должны были переиспользоваться, это делают - не понятно пока.
Соединения могут переиспользоваться.

Если стоит опция


httpclient.reset_state_on_thread_group_iteration=false

Или

jmeter.httpsampler=Java

Или если эта же настройка выставлена в конкретном http sampler
источник

KK

Konstantin Kalinin in QA — Load & Performance
нене, имею ввиду на стороне цели
источник