Size: a a a

QA — Load & Performance

2019 August 27

A

Artyom in QA — Load & Performance
Wazicar
Ну не каждый же раз наверно
а кто сказал что каждый раз?
источник

A

Artyom in QA — Load & Performance
вопрос был в том как сократить потребление памяти
источник

A

Artyom in QA — Load & Performance
Artyom
test fragments / module controllers используются?
у меня кейс был когда из-за плохой структуры много жрали test compiler классы
источник

W

Wazicar in QA — Load & Performance
Artyom
вопрос был в том как сократить потребление памяти
Написать всё на C))
источник

A

Artyom in QA — Load & Performance
было
источник

A

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

A

Artyom in QA — Load & Performance
стало
источник

VG

Viktor Ganeles in QA — Load & Performance
источник

VG

Viktor Ganeles in QA — Load & Performance
источник

VG

Viktor Ganeles in QA — Load & Performance
вижу, что в памяти хранится очень много заголовкой запросов. Нафига?
Как этого избежать...
источник

A

Artyom in QA — Load & Performance
я бы советовал снимать heap dump и с MAT смотреть через dominator tree
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Loop - долго. Для уменьшения потребления памяти в асинхронных тестах (с ожиданием выполнения запроса) стараюсь не использовать циклы. А использовать потоки, отдельные катушки. А синхронизацию между ними делаю через SharedHashMap, jsr-223, Property
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Viktor Ganeles
вижу, что в памяти хранится очень много заголовкой запросов. Нафига?
Как этого избежать...
Тема для доклада. Думаю пока что, почти никто не знает
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Вероятно, заголовок запроса ввчисляется для каждого потока свой. Это точно. И возможно для каждого запроса тоже. И вот их стало 900 х 10 = много
источник

VG

Viktor Ganeles in QA — Load & Performance
Вячеслав Смирнов
Loop - долго. Для уменьшения потребления памяти в асинхронных тестах (с ожиданием выполнения запроса) стараюсь не использовать циклы. А использовать потоки, отдельные катушки. А синхронизацию между ними делаю через SharedHashMap, jsr-223, Property
это решение, но немного гемморойное.
Нам нужно держать кучу пользаков для асинхронной работы.
Всё бы ничего, но у них раз в несколько минут протухают сессии а постоянно прелогиниваться нельзя.

то есть надо хэшмапу для самих действий+вторую хэшмапу с сессиями и временем их жизни
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Viktor Ganeles
это решение, но немного гемморойное.
Нам нужно держать кучу пользаков для асинхронной работы.
Всё бы ничего, но у них раз в несколько минут протухают сессии а постоянно прелогиниваться нельзя.

то есть надо хэшмапу для самих действий+вторую хэшмапу с сессиями и временем их жизни
Думаю можно сделать круче. Сделать катушку, которая будет только токены получать и в очередь Rabbitmq их класть. С указанием времени жизни. Тогда rabbit сам будет старые вычищать.

Другие катушки просто получают токен. Тут же возвращают его в очередь, но с другой стороны. И делают свое дело - используют токен
источник

M

Maksimall89 in QA — Load & Performance
Вячеслав Смирнов
Думаю можно сделать круче. Сделать катушку, которая будет только токены получать и в очередь Rabbitmq их класть. С указанием времени жизни. Тогда rabbit сам будет старые вычищать.

Другие катушки просто получают токен. Тут же возвращают его в очередь, но с другой стороны. И делают свое дело - используют токен
я типа такого делал, но с influxdb
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Rabbit не напряжется. Он быстрый. И тест можно будет сделать распределенным даже. Для rabbit есть плагин. Есть пара версий, где можно указать заголовки.
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Или вместо rabbit использовать HP Virtual Table Server
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Вот это тебе понравится. Интерфейс - rest http. Плагинов не нужно никаких. Но там вычищать протухшие токены надо будет самому
источник