Выбрать страницу

Когда дело доходит до опыта, нет ничего более важного для пользователей, чем испытывают гладкую и стабильную функциональность веб-приложений. Эти аспекты подобны основополагающим частям любого веб-сайта или веб-приложения и необходимы для его успеха. Однако по мере того, как все больше пользователей начинают доступ к приложению, используется больше ресурсов, и, как правило, чем медленнее оно становится. Это ужасный опыт для пользователей, поскольку они начали получать странные сообщения об ошибках системы, тайм-ауты, медленный отклик страницы и ошибки сервера. Чтобы спасти нас от всего этого Вопросы, нам нужно перейти к следующему шагу функционального тестирования и провести нефункциональные тесты, такие как Нагрузочное тестирование или стресс-тестирование, который проверяет, может ли приложение обрабатывать большое количество одновременные пользователи, а также определить, как система реагирует на масштабирование трафика.

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

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

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

 

Параллельные пользователи, необходимые для тестирования нагрузки

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

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

Параллельные пользователи – Почасовые сессии x Avg. Продолжительность сеанса (в минутах)/60

Если у нас нет данных веб-аналитики, мы можем использовать ожидаемое количество посещений пользователей для расчета числа для одновременных пользователей:

Параллельные пользователи – Количество ожидаемых посещений в минуту – Продолжительность посещения (в минутах)

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

Моделирование сценариев реальных пользовательских тестов

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

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

Загрузка тестирования веб-приложений и веб-страниц

Для моделирования пользовательских сценариев и транзакций для веб-приложений и веб-сайтов нам необходимо списать поездки пользователей для имитации нашего тестового сценария. Для этого случая использования, мы можем использовать EveryStep Web Recorder, который записывает наши взаимодействия браузера и создает сценарий, который может быть использован для нашего тестирования нагрузки. Веб-регистратор EveryStep прост в использовании, но способен писать сценарии наиболее сложных сценариев. Кроме того, пользователи могут устанавливать задержки, редактировать ключевые слова или полевые переменные, устанавливать сетевое регулирование и многое другое. Чтобы узнать больше о редактировании скрипта с помощью веб-регистратора EveryStep, посетите нашу базу знаний для получения дополнительной информации.

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

Кроме того, платформа LoadView позволяет командам разработчиков нагружать API и потоковое мультимедиа. Для получения дополнительной информации об API и страницах потокового мультимедиа посетите нашу страницу продуктов .

 

Настройка теста LoadView

 

Гео-распределенные виртуальные нагрузки

Как вы, наверное, уже знаете, задержка сети оказывает огромное влияние на веб-сайты, поэтому, хотя наш стресс-тест мы не должны пренебрегать одновременных пользователей, которые будут географически распределены нагрузки, так что мы моделируем то же поведение, как мы видим в рабочей среде, а также проверить время отклика для пользователей, расположенных далеко от вашего центра обработки данных. Рассмотрим веб-страницу, которая загружает 2MB контента во время обновления и 10ms для каждого бэк-энда запроса. Время загрузки в центре обработки данных будет меньше пяти секунд из-за близости и низкой задержки.

В определенных местах за рубежом, таких как Азия, с задержкой 200ms, время отклика этого сайта будет пять секунд для задней части, и более 200ms для передачи сети. Мы не должны ошибаться и измерять время отклика только внутри нашего центра обработки данных. Мы можем использовать LoadView здесь, который дает широкий спектр машин для впрыска нагрузки по всему миру. Из всех этих опций мы можем выбрать всех тех, кто представляет обычное местоположение наших клиентов.

 

Период наращивания между шкалой

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

 

Длительность тестирования нагрузки

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

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

 

Упаковка: Как правильно имитировать трафик на веб-сайтах или веб-приложений

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

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