Существует несколько причин, по которым результаты нагрузочного теста указывают на то, что количество транзакций в минуту, достигнутое во время тестового запуска, не соответствует установленной цели транзакции:

  • Достижение максимального лимита одновременных виртуальных пользователей

Когда пользовательская нагрузка не может быть увеличена до необходимого уровня из-за вышеупомянутых факторов, система может достичь своего предопределенного предела для Максимального количества одновременных пользователей. При достижении лимита он не может имитировать дополнительную нагрузку, что мешает достичь желаемого количества транзакций в минуту.

  • Преждевременное прекращение испытаний

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

  • Пропорциональное увеличение времени отклика с нагрузкой пользователя

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

Например:

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

Транзакций в минуту = 10 пользователей / 5 секунд = 2
транзакции в минуту = 20 пользователей / 10 секунд = 2

Рекомендации

Два основных фактора могут приводить к описанным выше проблемам и способствовать снижению достигнутого количества транзакций в минуту:

Отсутствие калибровки приводит к перегрузке форсунки нагрузки

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

Увеличена средняя продолжительность ответа

Распространенной причиной недостижения цели транзакции является увеличение среднего времени отклика (Avg. Response Duration) от сервера под нагрузкой. По мере увеличения пользовательской нагрузки серверу может потребоваться больше времени для обработки каждого запроса, что приводит к увеличению времени отклика и уменьшению количества транзакций в минуту.

Если вы не уверены, как изменится производительность вашего сервера под нагрузкой, мы рекомендуем провести короткий нагрузочный тест с помощью динамической регулируемой кривой нагрузки. Ручное увеличение пользовательской нагрузки до нужных значений поможет вам прогнозировать колебания времени отклика вашего сервера и правильно настроить параметры Goal-Based Curve.