Перевод статьи подготовлен в преддверии старта нового курса от OTUS — «Нагрузочное тестирование».
От автора: И хотя черная пятница не скоро, советы из этой статьи определенно будут полезны тем, кто занимается нагрузочным тестированием.
Черная пятница приближается очень быстро. Сейчас самое время начинать готовить свой веб-сайт или приложение для ожидаемого наплыва пользователей, как это делают ваши конкуренты.
Ниже приведены 6 советов актуальных для нагрузочного тестирования в целом и особенно в контексте Черной пятницы.
Как гласит известная поговорка: «Кто рано встает, тому Бог подает». То же самое касается и тестирования производительности. Чем раньше вы начнете нагрузочное тестирование, тем скорее вы обнаружите узкие места и тем быстрее сможете их исправить. Убедитесь, что у вас все готово, до того как станет уже поздно.
Поскольку тестирование имеет тенденцию к «смещению влево», все больше организаций принимают стратегии непрерывной интеграции (CI), непрерывной разработки (CD) и непрерывного тестирования (CT). Регулярно проводя нагрузочное тестирование каждый раз, когда вы меняете код, фиксируете и развертываете сборки, вы обнаружите большинство проблем перед крупными событиями, такими как Черная пятница. Это не значит, что можно не запускать специальные тесты перед Черной пятницей, но подходите к ним как можно более подготовленными. Чем-то напоминает шоу и спектакли, где генеральной репетиции предшествует много других репетиций.
Taurus — инструмент автоматизации с открытым исходным кодом, интегрирует системы нагрузочного тестирования, такие как JMeter, The Grinder Gatling, Locust.io и BlazeMeter в такие CI инструменты, как Jenkins. Переходите по этой ссылке, чтобы узнать больше.
При подготовке среды к нагрузочному тестированию протестируйте окружающую инфраструктуру, программное обеспечение, а также само приложение. Сюда также входит коммуникационное оборудование, базы данных, сети и т. д. Делая тестовую среду максимально похожей на продакшн, вы делаете тест более точным, увеличивая тем самым количество вовремя обнаруженных узких мест, и снижая риск неприятных неожиданностей во время пиков Черной пятницы.
Нагрузочное тестирование позволяет мониторить и анализировать KPI (ключевые показатели эффективности) вашей производительности, такие как время отклика и задержка, а также корреляции между ними. Но также важно просмотреть ключевые KPI, такие как кэш-попадания и запросы в БД, посмотреть лог ошибок на предмет исключений, а также стандартные характеристики оборудования, такие как нагрузка ЦП/памяти/сети и состояние автоматического масштабирования.
Различные решения расширяют возможности анализа результатов тестирования. New Relic обеспечивает мониторинг производительности приложений, AppDynamics обеспечивает мониторинг конечных пользователей, а Amazon Cloud Watch отслеживает облачные ресурсы AWS.
При нагрузочном тестировании необходимо учитывать особенности ваших пользователей и их потребности. Создавайте сценарии в соответствии с их привычками. Если им нравится тратить много времени на просмотр каталога в вашем приложении, сделайте акцент на этом. Если они, как правило, тщательно проверяют свои личные данные в форме вашего сайта, убедитесь, что ваш нагрузочный тест включает эти паузы. Нагрузочное тестирование в условиях, приближенных к реальным, позволяет устранить релевантные узкие места, обеспечивая тем самым великолепный пользовательский опыт.
Нагрузочное тестирование гарантирует, что ваш сайт или приложение не закрашится в самый ответственный момент, но вы, вероятно, также хотите, чтобы ваши пользователи получили приятные впечатления. В рамках подхода DevOps и CI мы также рекомендуем вам протестировать веб-браузеры и операционные системы с помощью таких инструментов, как Selenium и Sauce Labs. Таким образом, вы сможете обнаружить изменения, не повлиявшие на производительность, но повлиявшие пользовательский опыт.
Когда вы вносите изменения в свое приложение или сайт, вы влияете не только на свой собственный продукт. Вы также можете повлиять на сторонние скрипты в своем приложении или на сайте, или вы можете нарушить работу сторонних устройств или серверов, если вы не подготовите их должным образом. Например, для разных CDN требуются разные подходы, а для балансировки нагрузки AWS (ELB) требуется прогрев перед балансировкой нагрузки.
Несмотря на то, что это является частью того, что вы тестируете, мы рекомендуем вам заранее связаться с вашими партнерами и провести все необходимые приготовления. Это гарантирует, что нагрузочный тест будет учитывать их подготовку и полные возможности (вместо частичных возможностей, как это может случиться, если у них не будет возможности подготовиться). Это также экономит ваше время и усилия, так как вам не нужно решать серьезные сторонние накладки, которых можно было бы легко избежать.
Вы готовы к Черной пятнице? Начинайте готовиться уже сейчас! Чтобы попробовать BlazeMeter, просто укажите свой URL в поле ниже, и ваш тест начнется через несколько минут!
www.blazemeter.com/blog/6-load-testing-tips-black-friday
Скрипты и сценарии нагрузочного тестирования — Perfomance Center (PC) И Vugen. Бесплатный урок.
От автора: И хотя черная пятница не скоро, советы из этой статьи определенно будут полезны тем, кто занимается нагрузочным тестированием.
Черная пятница приближается очень быстро. Сейчас самое время начинать готовить свой веб-сайт или приложение для ожидаемого наплыва пользователей, как это делают ваши конкуренты.
Ниже приведены 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. Бесплатный урок.