Разница между режимами совместного использования "Все темы" и "Текущая группа потоков" в Jmeter - PullRequest
6 голосов
/ 24 января 2012

Какая фактическая разница между режимом общего доступа "Все потоки" и "Текущей группой потоков" в Jmeter?
Кто-нибудь может объяснить подробно?

У меня есть одно определение лайнера, но я не могу его правильно понять.

Спасибо, Rishil

1 Ответ

8 голосов
/ 24 января 2012

Ну, в соответствии с ссылкой :

 • All threads - (the default) the file is shared between all the threads. 
 • Current thread group - each file is opened once for each thread group in which the element appears

Так что в случае "Все потоки", если в вашем скрипте более 1 элемента конфигурации набора данных CSV, которые ссылаются на одно и то жефайл следующий элемент конфигурации набора данных CSV будет ПРОДОЛЖИТЬ ЧТЕНИЕ из ранее открытого файла (т. е. в предварительно настроенном элементе конфигурации набора данных CSV), а в случае «текущей группы потоков» каждый последующий элемент конфигурации набора данных CSV будет REOPEN ваш файл.

Пожалуйста, посмотрите на пример ниже:

enter image description here

В этом случае каждый элемент конфигурации набора данных CSV:
•использует тот же CSV-файл;
• читает файл один раз и до EOF;
• читает файл с начала: файл открывается каждый раз из-за режима совместного использования = текущей группы потоков.

Если в этом случае изменить режим общего доступа на «Все потоки», БЕЗ любых других изменений 2-го (TG-04) и 3-й (TG-05) элементы конфигурации набора данных CSV ничего не будут читать, поскольку csv-файл останется открытым после TG-03, а курсор файла укажет на конец файла.

Подробности реализациинайти в CSVDataSet описание класса :

Класс использует механизм псевдонимов FileServer для предоставления различных режимов общего доступа.Для всех потоков в качестве псевдонима файла указывается имя файла.В противном случае к имени файла добавляется суффикс, чтобы сделать его уникальным в требуемом контексте.Для текущей группы потоков используется группа потоков identityHashcode;для отдельных потоков в качестве суффикса используется хэш-код потока.


ОБНОВЛЕНИЕ 2012-02-09:
Предположим, что у вас естьконфигурация как в комментарии ниже:

  • N потоков
  • 1 Конфигурация набора данных CSV
  • 1 файл данных CSV
  • N записей в файле данных CSV

Так вы получите:
1.N появлений - в случае режима общего доступа = "Все потоки" или "Текущая группа потоков": каждый поток будет читать 1 запись из CSV: 1-й поток - 1-я запись, ..., N-й поток - N-йзапись.
2.N * N появлений - в случае режима общего доступа = "Текущий поток": каждый поток будет читать ВСЕ записи из CSV.

Оба оператора предназначены для случая, когда CSV Data Set Config установлен сследующие настройки:

Recycle on EOF? = false
Stop thread on EOF? = false

(скриншот выше).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...