2016-05-30 3 views
1

Я сделал выбор образуют огромное количество идентификаторов, с помощью следующего запроса:Переменных нити в JMeter

select ID from [tabelname] where id > 0 and id < 31 

Это дает мне 30 идентификаторов работать.

Что я хотел бы сделать сейчас, это использовать 3 потока, с первым, используя ID 1, 4, 7, 10 и т. Д., Второй ID 2, 5, 8, 11 и т. Д., А третий ID 3 , 6, 9, 12 и т. Д.

До сих пор я мог использовать все потоки с 1 по 30 параллельно друг другу. Возможно ли это сделать?

Заранее благодарен!

+0

Таким образом, выбор 3 нитей в случайном порядке в диапазоне 1-30 с использованием счетчика не является приемлемым решением? Можете ли вы уточнить свою цель? –

+0

Попробовал ли оператор «in» выбрать id из [tablename], где id в (1,4,7,10 ...) –

+0

Случайный, к сожалению, не является вариантом. Я должен использовать одно и то же население несколько раз, для нескольких операций. Оператор 'in' также не является опцией. Все население составляет более 15 миллионов человек, и нам нужно 1% -ное представление. В принципе, возможно ли иметь несколько потоков и каждый из них использует собственное население? И как их назначить? –

ответ

1

JMeter имеет операцию сборки в том, что вы можете использовать в сочетании с предварительной обработкой, чтобы найти текущий номер потока:.

https://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterContext.html#getThreadNum()

Если теперь использовать ctx.getThreadGroup() getNumThreads (), чтобы найти количество потоков, которые вы используете, вы можете разделить ваш набор тестов на подмножества и позволить каждому потоку вычислять его собственное подмножество (например, thread1 вычисляет значение 0..10, thread2 на 11..20, thread3 на 21. .30 и т. Д.)