6 советов по нагрузочному тестированию к Черной пятнице

Автор оригинала: Vitali Bykhovsky
  • Перевод
Перевод статьи подготовлен в преддверии старта нового курса от OTUS — «Нагрузочное тестирование».




От автора: И хотя черная пятница не скоро, советы из этой статьи определенно будут полезны тем, кто занимается нагрузочным тестированием.

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

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

1. Начните тестирование производительности как можно раньше


Как гласит известная поговорка: «Кто рано встает, тому Бог подает». То же самое касается и тестирования производительности. Чем раньше вы начнете нагрузочное тестирование, тем скорее вы обнаружите узкие места и тем быстрее сможете их исправить. Убедитесь, что у вас все готово, до того как станет уже поздно.

Поскольку тестирование имеет тенденцию к «смещению влево», все больше организаций принимают стратегии непрерывной интеграции (CI), непрерывной разработки (CD) и непрерывного тестирования (CT). Регулярно проводя нагрузочное тестирование каждый раз, когда вы меняете код, фиксируете и развертываете сборки, вы обнаружите большинство проблем перед крупными событиями, такими как Черная пятница. Это не значит, что можно не запускать специальные тесты перед Черной пятницей, но подходите к ним как можно более подготовленными. Чем-то напоминает шоу и спектакли, где генеральной репетиции предшествует много других репетиций.

Taurus — инструмент автоматизации с открытым исходным кодом, интегрирует системы нагрузочного тестирования, такие как JMeter, The Grinder Gatling, Locust.io и BlazeMeter в такие CI инструменты, как Jenkins. Переходите по этой ссылке, чтобы узнать больше.



2. Тестируйте всю экосистему


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


3. Следите за показателями бэкенда во время тестирования


Нагрузочное тестирование позволяет мониторить и анализировать KPI (ключевые показатели эффективности) вашей производительности, такие как время отклика и задержка, а также корреляции между ними. Но также важно просмотреть ключевые KPI, такие как кэш-попадания и запросы в БД, посмотреть лог ошибок на предмет исключений, а также стандартные характеристики оборудования, такие как нагрузка ЦП/памяти/сети и состояние автоматического масштабирования.

Различные решения расширяют возможности анализа результатов тестирования. New Relic обеспечивает мониторинг производительности приложений, AppDynamics обеспечивает мониторинг конечных пользователей, а Amazon Cloud Watch отслеживает облачные ресурсы AWS.

4. Создавайте и моделируйте реальные сценарии поведения ваших пользователей


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

5. Отслеживайте пользовательский опыт


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



6. Учитывайте сторонних партнеров и поставщиков услуг


Когда вы вносите изменения в свое приложение или сайт, вы влияете не только на свой собственный продукт. Вы также можете повлиять на сторонние скрипты в своем приложении или на сайте, или вы можете нарушить работу сторонних устройств или серверов, если вы не подготовите их должным образом. Например, для разных CDN требуются разные подходы, а для балансировки нагрузки AWS (ELB) требуется прогрев перед балансировкой нагрузки.

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

Вы готовы к Черной пятнице? Начинайте готовиться уже сейчас! Чтобы попробовать BlazeMeter, просто укажите свой URL в поле ниже, и ваш тест начнется через несколько минут!

www.blazemeter.com/blog/6-load-testing-tips-black-friday

Еще по теме




Скрипты и сценарии нагрузочного тестирования — Perfomance Center (PC) И Vugen. Бесплатный урок.

OTUS. Онлайн-образование
Цифровые навыки от ведущих экспертов

Комментарии 0

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

Самое читаемое