Мой вопрос как-то связан с this и this , но почему-то не отвечает на мой вопрос.
Мой тестовый пример довольно прост, мне нужно для создания постоянных активных одновременных пользователей (например, 10 одновременных пользователей) постоянно в течение определенного периода времени (например, 60 se c).
Мои коды выглядят так
val TestProtocolBuilder: HttpProtocolBuilder = http.baseUrl("https://computer-database.gatling.io")
object Test {
val test =
exec(http("Test_Only")
.get("/computers")
.check(status.in(200, 404))
)
}
val TestOnly = scenario("Test Only").exec(Test.test)
setUp(
TestOnly.inject(
constantConcurrentUsers(10) during(60 seconds)
).protocols(TestProtocolBuilder)
)
Эта документация говорит constantConcurrentUsers(nbUsers) during(duration)
: Внедрить так, чтобы количество одновременных пользователей в системе было константа
Я ожидаю, что 10 одновременных активных пользователей будут постоянно использовать API в течение 60 секунд. Не более 10 пользователей и не менее 10 пользователей в любое время.
В отчете HTML я вижу, что активных пользователей в любой момент времени намного больше 10 (почти в два раза).
![enter image description here](https://i.stack.imgur.com/6iG89.jpg)
Learning from the документация , там указано
На этой диаграмме отображаются активные пользователи во время моделирования: всего и по сценарию. «Активные пользователи» не являются ни «одновременными пользователями», ни «скоростью прибытия пользователей». Это своего рода смешанный показатель c, который служит как для моделей открытой, так и для закрытой рабочей нагрузки и представляет «пользователей, которые были активны в системе под нагрузкой в заданную секунду».
вычисляется как: (количество активных пользователей в предыдущую секунду) + (количество пользователей, запущенных в течение этой секунды) - (количество пользователей, которые были завершены в течение предыдущей секунды) )
Вопросы:
- Почему Gatling продолжает отключать пользователей и запускать новых пользователей в течение тестового периода? В чем смысл?
- Как я могу получить 10 постоянных одновременно активных пользователей (ни больше, ни меньше), продолжающих использовать мой API в течение всего теста, если
constantConcurrentUsers(10) during(60 seconds)
даст мне гораздо больше активных пользователей и колеблется в течение тестового периода? Мне нужно придерживаться своего тестового примера и не перегружать API. - На изображении выше в это время
the number of request = 7
и the active users = 20
. Означает ли это, что в данный момент есть 7 активных пользователей, отправляющих запросы, и 20 - 7 = 13 активных пользователей сидят без дела, ожидая ответа от API?
Спасибо .