Как заставить Locust Master динамически распределять пользователей по подчиненным - PullRequest
0 голосов
/ 08 мая 2018

Я пытаюсь загрузить тест HTTP-URL (динамический) с помощью Locust.io. У меня уже есть скрипты Python, которые будут делать вызов GET для URL. Проблема, с которой я сталкиваюсь, заключается в том, что URL-адреса и количество пользователей являются динамическими и считываются из файла CSV.

Например, вот как будет выглядеть ввод нагрузочного тестирования:

Input.csv:

============

URLs          No of users to simulate
=============================================
URL 1               1000
URL 2               5000
URL 3               2000
URL 4               1000

Каждый URL в CSV уникален, и количество пользователей для имитации изменений для каждого URL. Я хотел бы использовать нагрузочное тестирование саранчи в распределенном режиме.

Например, Locust master прочитает URL 1 и отправит его на Slave 1 для имитации 1000 пользователей. а затем выберите URL2 и отправьте его на ведомый 2 для имитации 5000 пользователей.

как мне добиться этого с помощью саранчи? кто-нибудь может пролить свет?

1 Ответ

0 голосов
/ 09 мая 2018

Саранча не поддерживает это, как вы думаете. Саранча весит задач , а не пользователей, поэтому вы придаете относительный вес задачам, которые вы хотите выполнять (ваши URL указаны выше).

То, что вы, вероятно, хотите сделать, это взвесить сами задачи таким образом, используя TaskSet :

class MyTaskSet(TaskSet):
    @task(1)
    def one(self):
        self.client.get("url 1")

    @task(5)
    def two(self):
        self.client.get("url 2")

    @task(2)
    def three(self):
        self.client.get("url 3")

    @task(1)
    def three(self):
        self.client.get("url 4")

У вас может быть код для анализа и чтения вашего файла (который не является форматом csv, кстати, хотя вы назвали его таковым?) Перед этим в вашем файле саранчи и передать его декоратору task и URL-адресам .

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