Синхронизация клиента на JMeter - PullRequest
0 голосов
/ 08 ноября 2018

Как я могу разработать тест с использованием JMeter, в котором два клиента могут подключаться к одному TCP-серверу?

В моем тесте у меня будет два клиента и один сервер:

Client 1          Server        Client 2
   |       M1       |              |
T1 |--------------->|       M1'    |
T2 |                |------------->|
T3 |                |       R2     |
T4 |       R2'      |<-------------|
T5 |<---------------|              |

Клиент 1, отправляет сообщение M1 на сервер, сервер обрабатывает это сообщение и отправляет его Клиенту 2. Клиент 2 отвечает на сообщение. Я хочу проверить время ответа от T1 до T5.

  1. Я реализую свое клиентское соединение, используя Java Request. Есть ли какая-либо функция JMeter для синхронизации действий между потоками?
  2. Или я должен реализовать свои собственные потоки внутри моего Java Request класса?
  3. Если я реализую свои собственные потоки, это означает, что я буду дублировать свои потоки для проверки. Сколько потоков поддерживает один экземпляр JMeter?

1 Ответ

0 голосов
/ 08 ноября 2018

1. Потоки JMeter (виртуальные пользователи) абсолютно независимы и ничего не знают о том, что делают другие. Однако вы можете использовать плагин Inter-Thread Communication , чтобы добавить дополнительную логику и реализовать IPC
2. Я не думаю, что вы должны, так как JMeter не будет измерять эти дополнительные потоки 3. Вы ограничены только вашим аппаратным / программным обеспечением. Предполагая, что вы следуете JMeter Best Practices , вы сможете запустить несколько тысяч потоков на современном ПК. В любом случае всегда есть возможность запустить тест JMeter в распределенном режиме


На всякий случай есть TCP Sampler и HTTP Raw Request Sampler , оба способны запускать TCP-запросы, поэтому вам может не понадобиться изобретать колесо.

Если вы хотите запустить 2 разных сэмплера одновременно, вы можете поместить их в Parallel Controller , этот парень не является частью стандартного дистрибутива JMeter, вам нужно будет установить его, используя JMeter Plugins Manager .

...