Лекция 8. Тестирование и методология сравнения облаков (1185973)
Текст из файла
Тестирование и методология сравненияоблаковАнтоненко ВиталийПлан• Характеристики рабочей нагрузки облачных приложений• Показатели производительности для облачных приложений• Тестирование облачных приложений• Инструменты тестирования производительности• Нагрузочное тестирование и обнаружение «узких мест»04.04.17Виртуализация и Облачные Вычисления, Лекция поМетодологии Сравнения Облаков2Бенчмаркинг• Бенчмаркинг важен по следующим причинам :• Распределение и планирование ресурсов• Процесс подготовки и планирования ресурсов для облачных приложений включает в себяопределение объема вычислительных ресурсов, памяти и сетевых ресурсов для обеспеченияфункционирования приложения.• Помощь в сравнении альтернативных архитектур развертывания и выборе лучшей архитектурыразвертывания, которая соответствует требованиям к производительности приложения.• Эффективное использование (утилизация) ресурсов• Помощь в определении количество вычислительных ресурсов, памяти и сетевых ресурсов дляприложений и отметить ресурсы, которые либо недостаточно используются, либо чрезмернопредоставлены приложению.• Готовность приложений (Production level)• Производительность приложения зависит от характеристик рабочих нагрузок.
Различные типырабочих нагрузок могут привести к снижению производительности для одного и того жеприложения.• Чтобы обеспечить готовность приложения к работе, важно смоделировать все типы рабочихнагрузок, и сравнивать с показаниями приложения на схожих рабочих нагрузках.04.04.17Виртуализация и Облачные Вычисления, Лекция поМетодологии Сравнения Облаков3Бенчмаркинг облачного приложения - ЖЦ• Сбор/Генерация рабочей нагрузки• Сбор трафика реальных приложений.• Для генерации трафика рабочей нагрузки используется специальный инструментарийдля анализа информации, такой как запросы, отправленные пользователями, отметкивремени запросов и т. д.• Моделирование рабочей нагрузки• Включает создание математических моделей для генерации синтетического трафика.• Спецификация рабочей нагрузки• Так как модель рабочей нагрузки отличается в зависимости от приложения.Необходимо иметь инструментарий для описания рабочей нагрузки.
Например, IXIAprofile.• Генерация синтетической рабочей нагрузки• Важным требованием для синтетического генератора рабочей нагрузки является то,что генерируемые рабочие нагрузки должны соответствовать реальным нагрузкам.04.04.17Виртуализация и Облачные Вычисления, Лекция поМетодологии Сравнения Облаков4Подходы для генерации синтетическойрабочей нагрузки• Эмпирический подход• В этом подходе трафик приложений отбирается и воспроизводится для генерациисинтетических рабочих нагрузок.• Эмпирический подход не обладает гибкостью, поскольку полученные реальныеданные, используются для создания рабочей нагрузки, что может не отражатьрабочие нагрузки на других системах с различными конфигурациями и условиямифункционирования.• Аналитических подход• Использует математические модели для определения характеристик рабочейнагрузки, которые используются синтетическим генератором рабочей нагрузки.• Аналитический подход является гибким и позволяет создавать рабочие нагрузки сразличными характеристиками путем изменения атрибутов модели генерации.• С помощью аналитического подхода можно изменять параметры модели рабочейнагрузки по одному и исследовать влияние на производительность приложения дляизмерения чувствительности приложения к различным параметрам.04.04.17Виртуализация и Облачные Вычисления, Лекция поМетодологии Сравнения Облаков5Эмуляция пользователяvs Агрегированные потокиНаиболее распространенными методами для генерации рабочей нагрузки являются:• Эмуляция пользователя:• Каждый пользователь эмулируется отдельной сущностью (нитью, приложением, процессом),который имитирует действия пользователя, чередуя запросы и простаивая..• Атрибуты для формирования рабочей нагрузки в методе эмуляции пользователей включают,например, Think Time, типы запросов, зависимости между запросами.• Эмуляция пользователя позволяет осуществлять контроль (и исследование) аспектов поведенияпользователей, взаимодействующих с тестируемой системой.• Генерация агрегированной рабочей нагрузки:• Позволяет указать точные моменты времени, в которые запросы должны поступать в тестируемуюсистему.• НЕ оперирует понятием индивидуального пользователя при генерации рабочей нагрузки, поэтомуэтот подход нельзя использовать, когда необходимо учесть зависимости между запросами.• Зависимости могут быть двух типов: между запросами и зависимостями по данным.• Зависимость между запросами: текущий запрос зависит от предыдущего запроса, в то время какзависимость по данным: текущим запросам требуются входные данные, которые получают из ответапредыдущего запроса.04.04.17Виртуализация и Облачные Вычисления, Лекция поМетодологии Сравнения Облаков6Характеристики рабочей нагрузки• Сетевые сессии• Набор последовательных запросов, представленных пользователем, представляющий собойсеанс работы с приложением.• Межсессионный интервал• Время между сессиями пользователя.• Время «на подумать» (Think Time)• В сеансе пользователь последовательно отправляет ряд запросов.
Временной интервал междудвумя последовательными запросами называется Think Time.• Длительность сессии• Количество запросов, отправленных пользователем в сеансе, называется длительностьюсеанса.• Workload Mix• Комбинация рабочей нагрузки определяет переходы между различной функциональностьюприложения и пропорцию, в которой используется та или иная функциональность.04.04.17Виртуализация и Облачные Вычисления, Лекция поМетодологии Сравнения Облаков7Показатели производительности дляоблачных приложенийНаиболее часто используемые показатели производительности дляоблачных приложений:• Время отклика• Временной интервал между моментом, когда пользователь отправляет запрос в приложение имомент, когда пользователь получает ответ.• Пропускная способность• Количество обработанных запросов в секунду.04.04.17Виртуализация и Облачные Вычисления, Лекция поМетодологии Сравнения Облаков8Требования к методологии бенчмаркинга• Точность• Точность методологии бенчмаркинга определяется тем, насколько сгенерированные синтетическиерабочие нагрузки имитируют реалистичную рабочую нагрузку.• Простота использования• Должна быть удобной для пользователя и должна включать минимальное ручное кодирование длянаписания скриптов для генерации рабочей нагрузки, которые учитывают зависимости между запросами.• Гибкость• Должна позволять осуществлять гранулярный контроль над такими атрибутами рабочей нагрузки, какThink Time, межсессионный интервал, продолжительность сеанса, комбинирование рабочих нагрузок.• Типовой анализ осуществляется путем одновременного изменения одной характеристики рабочейнагрузки, при этом остальные остаются неизменными.• Широкая область применения• работает для широкого круга приложений и не привязана к архитектуре приложения или типам нагрузки.04.04.17Виртуализация и Облачные Вычисления, Лекция поМетодологии Сравнения Облаков9Типы тестирований• Базовое тестирование• Для сбора данных показателей производительности всего приложения или компонента приложения.• Используются для сравнения различных изменений настройки производительности, которые впоследствии производятсяв реальном приложении.• Нагрузочное тестирование• Нагрузочные тесты оценивают производительность системы с несколькими пользователями и разными уровнями рабочейнагрузки, которые встречаются в реальной жизни.• Количество пользователей и комбинация рабочей нагрузки обычно указываются в конфигурации нагрузочноготестирования.• Стресс тестирование• Стресс-тесты загружают приложение в том месте, в которой оно должно «сломается».• Эти тесты выполняются для фиксирования сбоя приложения, а также условий сбоя приложения и отслеживаемыхпоказателей, которые могут предупреждать о последующих сбоях при повышенных уровнях рабочей нагрузки.• Тесты на выдержку (Soak Tests)• Предполагают длительное применение приложения к фиксированному уровню рабочей нагрузки.• Тесты на выдержку помогают определить стабильность приложения при длительном использовании и то, какпроизводительность изменяется со временем.04.04.17Виртуализация и Облачные Вычисления, Лекция поМетодологии Сравнения Облаков10Прототипирование• Прототипирование может помочь в выборе вариантов архитектурыразвертывания.• Сравнивая производительность альтернативных архитектур развертывания,прототипирование может помочь в выборе наилучшей и наиболееэкономичной архитектуры развертывания, которая может соответствоватьтребованиям к производительности приложений.• Развертывания приложения - это итеративный процесс, который включает всебя следующие шаги:• Выделение ресурсов и размещения приложения.• Оценка производительности: проверка удовлетворяет ли приложение требованиям кпроизводительности при развертывании• Уточнение развертывания: Развертывания уточняются на основании оценокпроизводительности.
На этом этапе могут существовать различные альтернативы, такие каквертикальное масштабирование, горизонтальное масштабирование.04.04.17Виртуализация и Облачные Вычисления, Лекция поМетодологии Сравнения Облаков11Анализ производительностиТрадиционных подход• Сначала подготавливает модель, эмулирующая поведение пользователя.• Записанные сценарии вариантов использования приложения затемпараметризуются для учета случайности в параметрах приложения ирабочей нагрузки.• Для создания различных сценариев рабочей нагрузки необходимо записатьнесколько сценариев.• Чтобы добавить новые спецификации для набора рабочей нагрузки и новыхзапросов, новые сценарии должны быть записаны и параметризованывручную.• Не способны генерировать синтетические рабочие нагрузки, которые имеютте же характеристики, что и реальные рабочие нагрузки.• Не позволяют быстро сравнивать различные архитектуры развертывания.04.04.17Виртуализация и Облачные Вычисления, Лекция поМетодологии Сравнения Облаков12Анализ производительностиПолностью автоматизированный подход• Реальный трафик анализируются с целью создания моделей генерациирабочей нагрузки, отражающих характеристики облачных приложений.• Статистический анализ пользовательских запросов в реальном трафикевыполняется для определения правильных распределений, которые могутиспользоваться для моделирования атрибутов модели рабочей нагрузки.• Реальные трафик анализируется для создания моделей рабочих нагрузок.• Различные сценарии рабочей нагрузки могут быть созданы путем измененияспецификаций модели рабочей нагрузки.• Генерируемые синтетические рабочие нагрузки имеют те жехарактеристики, что и реальные рабочие нагрузки.04.04.17Виртуализация и Облачные Вычисления, Лекция поМетодологии Сравнения Облаков13Анализ результатов тестирования• Рис.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.