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

У меня есть требование проверить, может ли общедоступный веб-сайт обслуживать определенное пиковое число 400 загрузок страниц в секунду.

Из того, что я прочитал в Интернете, при тестировании производительности веб-страниц виртуальные пользователи (потоки) должны быть настроены на паузу и «думание» на каждой странице, которую они посещают, чтобы имитировать поведение реального живого пользователя перед отправкой нового запроса на загрузку страницы. .

Я должен использовать некоторые удаленные генераторы нагрузки для создания этой необходимой нагрузки, и у меня есть ограничение на количество виртуальных пользователей, которых я могу использовать для каждого генератора нагрузки. Это означает, что если я заставлю каждого виртуального пользователя делать паузу и «думать» в течение x секунд на каждой странице, этот пользователь не будет генерировать большую нагрузку по сравнению с тем, что было бы, если бы он выполнялся так быстро, как мог, без настроенного времени на обдумывание. - и это заставит меня нуждаться в большем количестве пользователей и косвенно нуждаться в большем количестве генераторов нагрузки для достижения желаемой «загрузки страниц в секунду», и в конце концов это будет более дорогостоящим.

Если мой единственный запрос состоит в том, чтобы доказать, что сервер может обслуживать 400 загрузок страниц в секунду, я хотел бы знать, какая разница, если я добавлю время на обдумывание (и, следовательно, использую больше виртуальных пользователей) или нет.

Почему обычно «время на обдумывание» считается чем-то, что следует добавить при тестировании производительности веб-страниц?

За пределами сигналов Angular: Сигналы и пользовательские стратегии рендеринга
За пределами сигналов Angular: Сигналы и пользовательские стратегии рендеринга
TL;DR: Angular Signals может облегчить отслеживание всех выражений в представлении (Component или EmbeddedView) и планирование пользовательских...
Sniper-CSS, избегайте неиспользуемых стилей
Sniper-CSS, избегайте неиспользуемых стилей
Это краткое руководство, в котором я хочу поделиться тем, как я перешел от 212 кБ CSS к 32,1 кБ (сокращение кода на 84,91%), по-прежнему используя...
1
0
26
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
  1. Виртуальный пользователь, который «бездействует» (ничего не делает), имеет минимальный объем ресурсов (в основном поток размер стека), поэтому я не думаю, что вам понадобится больше машин.

  2. Хороший нагрузочный тест должен отражать реальное использование приложения со 100% точностью. Если вы тестируете веб-сайт, каждый поток JMeter (виртуальный пользователь) должен имитировать реального пользователя, использующего настоящий браузер, со всеми связанными функциями, такими как

    самый простой пример разницы между 400 пользователями без времени на обдумывание и 4000 пользователями с временем на обдумывание будет заключаться в том, что 4000 пользователей откроют 4000 соединений и будут держать их открытыми, а 400 пользователей откроют только 400 соединений.

Другие вопросы по теме