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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

 

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

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

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

 

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

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

 

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

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

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

 

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

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

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