Size: a a a

QA — Load & Performance

2021 February 25

VG

Viktor Ganeles in QA — Load & Performance
Типа каждый поток будет весь csv в памяти держать?
источник

AK

Alexey Kübler-Ross in QA — Load & Performance
Viktor Ganeles
Типа каждый поток будет весь csv в памяти держать?
Еще 3ий есть вариант - накатить свой велосипед плагин) 👍
источник

AK

Alexey Kübler-Ross in QA — Load & Performance
в любом случае для рандомизации большого csv - нужно будет чем-то пожертвовать, памятью или скоростью 🤔
источник

VG

Viktor Ganeles in QA — Load & Performance
Ну, можно генерить рандом между 1 и (количество строк в csv) и дёргать сразу нужную строку
источник

AK

Alexey Kübler-Ross in QA — Load & Performance
хотя, конфигурационный элемент вроде один и если java nio вытащить все содержимое в лист, и бегать по нему рандомно, то будет лишь один список на всю память)
источник

AK

Alexey Kübler-Ross in QA — Load & Performance
Viktor Ganeles
Ну, можно генерить рандом между 1 и (количество строк в csv) и дёргать сразу нужную строку
да, грувёй например =)
источник

AK

Alexey Kübler-Ross in QA — Load & Performance
тоже не трудный вариант)
источник

AK

Alexey Kübler-Ross in QA — Load & Performance
Viktor Ganeles
Ну, можно генерить рандом между 1 и (количество строк в csv) и дёргать сразу нужную строку
Ачивка за велосипед разблокирована!
источник

VG

Viktor Ganeles in QA — Load & Performance
*за идею велосипеда
источник

AK

Alexey Kübler-Ross in QA — Load & Performance
Viktor Ganeles
*за идею велосипеда
Велосипед - двигатель прогресса)
источник

СФ

Степа Фомичев... in QA — Load & Performance
А в чем проблема брать потоками записи последовательно, предварительно перемешав датасет?
источник

KK

Konstantin Kalinin in QA — Load & Performance
Ещё один вариант - рандомизировать CSV перед каждым запуском внешними инструментами. Тогда сэкономится немного процессорного времени в процессе.
https://stackoverflow.com/questions/14727151/fastest-way-to-shuffle-lines-in-a-file-in-linux
источник

KK

Konstantin Kalinin in QA — Load & Performance
Или в OnceOnly Controller, или в setUp TG. Тут уж по желанию.
источник

VS

Vlad Shabalov in QA — Load & Performance
У меня файлик всего 600 Кb (во всяком случае судя по сделанной мной выгрузке из тестовой базы), но пока борюсь с ошибкой proxy. Возможно, самому придется написать скрипт.
источник

MT

Michael T in QA — Load & Performance
Добрый день, коллеги! Совершенно недавно в НТ, подскажите можно ли в http запрос вставить элемент массива, который был собран в предыдущем запросе. Что нибуть из разряда widgetIds${__0}?
источник

VG

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

VG

Viktor Ganeles in QA — Load & Performance
Обычные переменные вставляются через ${varName}

Элементы массива - чуть сложнее, нужно ведь указать какой именно элемент
Используй ${__V(Varname${N})}

Где N - номер элемента массива
источник

ВС

Вячеслав Смирнов... in QA — Load & Performance
Viktor Ganeles
Типа каждый поток будет весь csv в памяти держать?
Нет, я думаю один раз будет использоваться чтение и загрузка в память или чтение с диска, не каждым потоком.
Опыты по рандомизации чтения проводил на Gatling, там такая возможность встроена.
На больших пулах данных все зависало. Старт теста откладывался на 4-5 минут.
Тест должен был стартовать, но не мог - грузил в память пулы большие и пробовал их рандомизировать.
Отказ от рандомизации тогда ускорил запуск тестов Gatling.

А тут просто гипотеза - не изучал как работает этот плагин для JMeter
источник

MT

Michael T in QA — Load & Performance
Viktor Ganeles
Обычные переменные вставляются через ${varName}

Элементы массива - чуть сложнее, нужно ведь указать какой именно элемент
Используй ${__V(Varname${N})}

Где N - номер элемента массива
ОК, спасибо
источник

VG

Viktor Ganeles in QA — Load & Performance
Michael T
ОК, спасибо
Я там чуть дополнил ответ (изменил текст)
источник