Можно ли использовать JMeter для выполнения нескольких запросов HTTP / 2 в одном соединении (мультиплексирование)?

Я пытаюсь запустить тест производительности RESTful API для веб-приложения с помощью JMeter. В фактическом случае веб-сайт будет выполнять 4-5 асинхронных вызовов API к веб-приложению по протоколу HTTP / 2 в одном соединении с использованием мультиплексирования. У меня уже есть плагин HTTP2Sampler, установленный в JMeter, но я понятия не имею, как сделать этот вызов в рамках одного соединения TCP / IP.


person Jasper_Li    schedule 28.07.2017    source источник
comment
Вам нужно поместить свои запросы в группу потоков. Сейчас нет времени писать больше, но вы можете найти подробности с помощью этого поискового запроса: группа потоков JMeter.   -  person DavidS    schedule 28.07.2017
comment
Потоки из одной группы потоков будут делать запросы, используя одно и то же соединение TCP / IP?   -  person Jasper_Li    schedule 28.07.2017
comment
О, хороший вопрос. Я неправильно понял ваш вопрос: я не знаю ответа.   -  person DavidS    schedule 28.07.2017


Ответы (1)


Нет встроенного JMeter Sampler, который бы предлагал эту функциональность из коробки. Однако вы можете выбрать один из следующих вариантов:

  1. Используйте сэмплер HTTP / 2, разработанный кем-то другим. Быстрый поиск принес пару: this и это. Я никогда ими не пользовался, поэтому не могу сказать, стабильны ли они, и, конечно, только вы можете сказать, соответствуют ли они всем вашим потребностям.

  2. Разработайте собственный JMeter Java Sampler. Это хороший вариант, если нельзя использовать ни один из вышеперечисленных семплеров, и вы не хотите тратить слишком много времени на изучение всех деталей JMeter API для разработки собственного настраиваемого подключаемого модуля.

  3. Разработайте свой собственный плагин HTTP / 2. Этот вариант дороже, чем вариант 2, но если вы готовы инвестировать в гибкий сэмплер с множеством функций, это лучший вариант. Лучше всего начать с просмотра исходного кода существующих сэмплеров, таких как те, которые я упомянул в 1., или любых других сэмплеров, доступных через jmeter-plugins.org

  4. Самый быстрый вариант - написать код в семплере BeanShell. Недостатком, конечно же, является ремонтопригодность такого кода, а также потенциальные проблемы с производительностью, обработкой ошибок и так далее. Но это хороший вариант для одноразового теста с довольно простым потоком операций.

person Kiril S.    schedule 28.07.2017