#load-testing #locust
#нагрузочное тестирование #locust
Вопрос:
Я провожу нагрузочный тест для приложения, использующего Locust, но мне нужно протестировать свое приложение с использованием одного пользователя, сценарий у меня один пользователь, с помощью которого мне нужно запускать некоторые API несколько раз. Итак, в locust 2 параметра — это количество пользователей и скорость вывода, поэтому в моем случае, какими будут значения этих 2. если я сохраню количество пользователей = 1, каким должно быть значение скорости вывода? а также, если количество пользователей = 1 и скорость вывода = 10, то что это означает с точки зрения locust?
from locust_base import LocustBase
from locust import HttpUser, TaskSet, task, between, SequentialTaskSet, events
class LoadTestSummary(LocustBase):
@task()
def get_org_summary(self):
response = self.client.get(url)
if response.status_code != 200:
raise Exception('Failure in org summary call. {}: {}'.format(response.status_code,
response.text))
class TestScenario(HttpUser):
tasks = [LoadTestSummary]
wait_time = between(5, 9)
host = "https://google.com"
users = 1
hatch-rate = 10
Ответ №1:
Количество пользователей является максимальным, и на него не влияет скорость вывода.
Если вы это сделаете, например locust -u 1 -r 10000
, вы все равно получите только 1 пользователя. В вашем случае вам вообще не нужно устанавливать скорость вывода.
Комментарии:
1. Значит ли это, что если я установлю u = 1 и любое значение для r и установлю время, скажем, 1 час, как я узнаю, сколько запросов locust собирается отправлять в секунду
2. Вы не будете, r не имеет такого отношения к пропускной способности. Пользователи зацикливаются на время теста, r определяет только, с какой скоростью они изначально запускаются. Если вы хотите, вы можете использовать wait_time, чтобы одна итерация задачи занимала определенное время docs.locust.io/en/stable /…