Что такое автоматическое масштабирование?
Автоматическое масштабирование – это метод, связанный с облачными вычислениями, который автоматически увеличивает или уменьшает количество ресурсов, имеющихся в приложении, в любое время в соответствии с их потребностями. До использования облачных вычислений было очень трудно автоматически масштабировать установку сервера. В среде физического хостинга ваши аппаратные ресурсы ограничены, поэтому мы будем испытывать снижение производительности в приложении, или наше приложение будет сбой.
Сегодня облачные вычисления позволяет создавать масштабируемую настройку сервера. Если вашему приложению требуется больше вычислительной мощности, автоматическое масштабирование предоставляет пользователям возможность использовать и по мере необходимости прекращать дополнительные ресурсы. Автоматическое масштабирование обеспечивает эффективный способ использования ресурсов только в случае необходимости, гарантирует, что ваше приложение имеет емкость, когда спрос увеличивается/уменьшился, и, самое главное, спасает вас от потенциальной оплаты больше, чем нужно вашей организации. Давайте глубже погрузимся в автоматическое масштабирование, как оно работает, и преимущества, которые он предлагает организациям.
Зачем нужен авто масштабирование
Автоматическое масштабирование очень функционально, когда вашему приложению нужны дополнительные серверные ресурсы для размещения количества запросов на страницы или визуализации. Он предлагает вам масштабируемую возможность автоматического масштабирования или сокращения для удовлетворения ваших потребностей. Автоматическое масштабирование предлагает следующие преимущества:
- Автоматическое масштабирование позволяет некоторым серверам перейти в спящий режим во время низкой нагрузки, что снижает затраты.
- Увеличение времени простоя и большая доступность там, где рабочие нагрузки различаются.
- На переднем конце сайта он обеспечивает возможность масштабирования в зависимости от количества входящих запросов.
- На задней части он обеспечивает масштаб в зависимости от количества заданий и того, как долго задания были в очереди в очереди.
Использование LoadView для обеспечения надлежащего автоматического масштабирования
LoadView — это решение для тестирования нагрузки на веб-сайте, которое может тестировать все, от API и веб-страниц до сложных пользовательских сценариев во внутренних/внешних веб-приложениях. Loadview делится с тестами, которые он запускает отчеты, которые помогают найти проблемы и сбои, которые замедляют или задерживают нашу систему. Например, при загрузке веб-страниц при загрузке можно протестировать определенную страницу против сотен и тысяч одновременных пользователей, чтобы увидеть, как страница работает при определенных уровнях нагрузки.
При тестировании пользовательских путей LoadView вместе с веб-регистратором EveryStepпревращает экран в скрипт для тестирования взаимодействия в режиме реального времени с приложениями, захвата всех выполняемых действий и может быть воспроизведен под нагрузкой.
Настройка LoadView
Например, мы тестируем внутреннее приложение. При тестировании внутренних приложений IP-адреса должны быть засыпылись в белый список перед выполнением нагрузочных тестов на внутренних приложениях. С помощью инжекторов нагрузки мы можем выполнять тесты с помощью многочисленных одновременных пользователей.
Открывается главная страница LoadView, и вы увидите несколько различных опций, таких как веб-приложения, API, веб-страницы, потоковые медиа и т.д. Мы выбираем опцию Web Page.
Открывается новая страница, где мы можем добавить нужное время для запуска теста нагрузки, добавить наше внутреннее имя хост-сайта, наш браузер и т.д. После ввода ваших данных нажмите кнопку «Создать устройство».
После успешного создания устройства вы увидите экран тестового сценария, на котором можно установить и определить тип нагрузки, места загрузки инжекторов и т.д. Далее мы выберем опцию «Кривая шага нагрузки».
LoadView начнет проверять, есть ли у вас доступ к внутреннему приложению. Выберите Static Proxy и включите свои данные с белым списком и выберите зоны добавления, чтобы выбрать регионы, где мы хотим сгенерированный трафик. На самом деле платформа LoadView может помочь с тестированием веб-приложений, веб-страниц, API и других веб-сервисов, которые находятся только в вашей сети, за брандмауэром.
Пользователи LoadView имеют несколько вариантов выбора, таких как белый список IP-адресов или установка на территории агента, если организации не могут открыть свою сеть для входящего трафика по соображениям безопасности. Для получения дополнительной информации о тестировании нагрузки из-за брандмауэрапосетите нашу базу знаний.
После завершения, выберите стартовый тест. Нам нужно найти статические IPs в части списка агентов с этого экрана; Загрузите создателей для доступа к внутренним приложениям, которые должны быть приняты в белый список. Вы можете найти статические IPs в списке агентов на этом экране для доступа к внутренним приложениям, которые должны быть приняты в белый список.
Во время ведения теста инжекторы каждый раз извлекают из белого списка новые уникальные IP-адреса. Мы можем видеть производительность через панели и графики тестов, которые мы создали в нашем приложении, взяв статические IPs в белом списке. Пример приведен ниже.
Параллельно Среднее число пользователей со средним графиком времени отклика.
Мониторинг дополнительных ресурсов в AWS по мере увеличения нагрузки
Метрика CloudWatch
С помощью CloudWatch мы можем получить статистику данных. Мы используем метрики для проверки того, что наша система работает, как ожидалось. Вы можете создать сигнализацию CloudWatch для отслеживания определенной метрики и получать уведомления тревоги в вашей почте. Загрузите балансирование только данных отчетов CloudWatch, когда запросы проходят через баланс нагрузки и измеряет метрики балансировки упругой нагрузки каждую минуту и отправляет их в CloudWatch.
Просмотр метрик CloudWatch на балансе нагрузки
Вы можете просматривать метрики CloudWatch ваших балансеров нагрузки с помощью консоли EC2. Если балансер нагрузки включен и получает запросы, мы можем просмотреть точки данных.
Доступ к журналам
Через журналы доступа, мы можем анализировать трафик и использовать их для решения наших проблем. Мы также можем хранить запросы, которые мы делаем для нашего балансера нагрузки в Amazon S3 в качестве файлов журнала.
Отслеживание запросов
Балансер нагрузки добавляет идентификатор отслеживания для каждого запроса, который он получает, так что вы можете контролировать запросы HTTP.
Облачные журналы
С CloudTrail можно следить за журналами транзакций, сделанных всеми учетными записями пользователей. Таким образом, можно управлять запросами на авторизацию и доступ.
Обеспечение деградации пользовательского опыта с помощью автоматического масштабирования
CloudWatch Synthetics позволяет отслеживать производительность пользователей. Он обеспечивает лучший обзор производительности и удобство использования, так что вы можете обнаружить проблемы раньше и реагировать быстрее, тем самым увеличивая удовольствие клиентов и убедившись, что ваше приложение может лучше реагировать на запросы. Канарские острова используются, чтобы позволить нам с раннего предупреждения. Для использования на Канарских островах мы нажимаем на Канарские острова в консоли CloudWatch, где мы можем наблюдать за состоянием всех канареек на одном экране.
Рассмотрим, как канарские файлы работают на данных. Для этого, когда мы исследуем отдельные точки данных в разделе Canary работает, вы можете видеть, что каждая точка датума является сумма исследований, проведенных для одной канарейки.
На скриншоте ниже, вы можете видеть, что есть TimeoutError тему в течение 24 часов. Мы также можем увидеть скриншоты, полученные с har файлов и журналов. В каждой записи HAR мы видим прошедшее время для ответов и запросов и запросов HTTP, сделанных для Canary.
Канарские задачи выполняются с использованием функций lambda. Из вкладки Метрика можно получить доступ к метрикам выполнения функции.
Хэтчинг Канарейка
Чтобы создать канарейку, мы нажимаем канарейку, чтобы создать ее. Мы можем выбрать из чек-боксов, загрузить существующий скрипт или импортировать из Amazon S3.
В результате методов, которые мы создаем, создается один раз или работает сценарий. Мы можем использовать методы GET или PUT, запрашиваемые заготовки HTTP при создании канари для конечных точек API. Мы также можем создать наш процесс сборки канарейки с помощью графического интерфейса. Мы можем легко дать наши канарейки особенности. Канарские скрипты используют время работы syn-1.0. Вы можете увидеть пример сценария ниже.
В сценариях мы можем видеть успешные результаты и ошибки в качестве исключений. Мы создаем период хранения данных для скрипта. Мы выбираем ведро S3 для конструкций, которые будут формироваться после каждой работы нашей канарейки. Во время создания нашей канарейки, мы также можем установить некоторые из объектов, таких как IAM (идентификация и управление доступом) роль, CloudWatch тревоги, VPC (виртуальное частное облако) Настройки, и теги.
Вывод: Тестирование автоматического масштабирования в AWS
Для того, чтобы предотвратить негативное воздействие на наших пользователей из-за деградации, мы можем использовать Canary для обнаружения возможных проблем перед пользователями, войти в систему и вмешаться на более ранней стадии и реагировать на них быстрее. Кроме того, благодаря сигнализации, предоставляемой в наших канарских островах мы можем увеличить источники, когда это необходимо, которые также предотвращают негативное влияние пользователей.
Более того, для того, чтобы максимизировать удовлетворенность клиентов и убедиться, что ваши приложения могут лучше реагировать на запросы, CloudWatch Synthetics, в сочетании с платформой LoadView, может помочь вам получить более полное представление о производительности и удобство использования и гарантировать, что автоматическое масштабирование выполняется по назначению во время нагрузочных тестов.
Подпишитесь на бесплатную пробную версию LoadView и начните тестирование производительности для всех ваших веб-страниц, приложений и API уже сегодня.
Или, если вы хотите, чтобы решение LoadView было в действии, зарегистрируйтесь и с кем-либо еще в вашей команде, для частной демонстрации с одним из наших инженеров по производительности. Они обеспечат всеобъемлющее демо, охватывающее все, от создания и редактирования сценариев тестирования нагрузки, до настройки и выполнения сценариев тестирования нагрузки и анализа отчетов. Расписание демо.