Как управлять распределением пользователей, когда у меня несколько классов пользователей?

#locust

Вопрос:

В моем файле locust у меня есть несколько пользовательских классов, примерно как показано ниже, и когда я запускаю тесты, Саранча автоматически разбивает нагрузку, но я хочу запустить Simple1 с 80% нагрузки и Simple2 с оставшейся 20% нагрузкой.

Как я могу добиться такого поведения?

есть ли какой-либо способ, аналогичный весу задач для пользовательских классов?

 class Simple1(HttpUser):
    host = "http://localhost:8080"
    tasks = [Simple1Taskset]


class Simple2(HttpUser):
    host = "http://localhost:8080"
    tasks = [Simple2Taskset]

 

Ответ №1:

То, что вы, вероятно, хотите, — это использовать веса. Вы можете поместить атрибут веса weight = 8 в Simple1 и weight = 2 в Simple2. В качестве альтернативы, если вы используете @task декоратор для своих функций, вы можете взвешивать отдельные задачи, а не пользователей с помощью @task(8) и @task(2) .