Использование файлового протокола в HTTP-запросе - PullRequest
2 голосов
/ 24 июня 2019

Чтение файла с использованием HTTP-запроса предлагается для Передача переменных между потоками .

Например, вы можете использовать Сохранить ответы для прослушивателя файла или, возможно, BeanShell PostProcessor в одном потоке, прочитать файл с помощью протокола HTTP «file:» сэмплера и извлечь информацию с помощью PostProcessor

Что работает, но следует ли игнорировать предупреждение в документе?

Примечание: протокол FILE предназначен только для тестирования. Он обрабатывается одним и тем же кодом независимо от того, какой HTTP-сэмплер используется.

Является ли / когда безопасным / хорошей практикой использование файлового протокола или это устарело / плохой практикой?

1 Ответ

1 голос
/ 24 июня 2019
  1. Использование Beanshell PostProcessor - определенно плохая практика, начиная с JMeter 3.1 вы должны использовать тестовые элементы JSR223 и Groovy язык
  2. Запись и чтение файлов могут привести к значительным дисковым операциям ввода-вывода , что может стать узким местом для вашего сценария, особенно когда речь идет о больших нагрузках. Более того, операции в памяти будут выполняться намного быстрее, чем запись / чтение файла в / из файловой системы

Принимая все вышеизложенное:

Хотя в использовании протокола file нет ничего плохого, если вам нужно прочитать данные из файла в файловой системе, лучше избегать этих промежуточных файлов и передавать данные между потоками, используя память, варианты в:

  1. Используйте функцию __setProperty () в 1-й группе потоков для сохранения значения и функцию __ P () в других группах потоков для чтения ранее сохраненного значения
  2. Используйте Межпотоковый коммуникационный плагин , который можно использовать для передачи переменных между потоками, даже если они живут в разных группах потоков (см. SynchronizationExample.jmx для практического использования) , Плагин Inter-Thread Communication может быть установлен с помощью JMeter Plugins Manager
...