Тестирование производительности облачных инфраструктур

Как правильно тестировать облако перед размещением инфраструктуры? В этой статье мы рассказываем об основных сложностях при тестировании облака и рассматриваем, какие инструменты эффективные, а какие - нет.

Какие проблемы возникают при тестировании облака?

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

Вот в чем главная причина: производительность классической программной системы оценивают при определенной рабочей нагрузке для фиксированной конфигурации. Но обеспечить стабильную нагрузку и конфигурацию ресурсов в публичном облаке не получится. Чтобы адаптироваться к меняющимся условиям арендаторов, провайдеры автоматически выделяют и освобождают ресурсы «на лету».

Вместо того, чтобы измерять среднюю производительности статической системы при максимальной нагрузке, логичнее оценить другие характеристики. Например, способность облачных сервисов адаптироваться к изменяющимся нагрузкам с точки зрения производительности и затрат. Дополнительная метрика должна охватывать надежность этих сервисов при сбоях отдельных узлов, а также при полном отключении ЦОД.

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

  • с различными возможностями;
  • с отличающимися гарантиями;
  • со своими параметрами сервиса, прописанными в договоре SLA.

Как говорят, приходится сравнивать яблоки с апельсинами.

О чем важно помнить до начала тестирования:

  • технологии распределенных вычислений быстро развивается и существует множество несовместимых реализаций;
  • рынок облачных IaaS молод и находится на стадии разработок, экспериментов;
  • у пользователя нет непосредственного контакта с оборудованием, поэтому он взаимодействует с арендованными ресурсами удаленно, через веб-интерфейс;
  • профессиональные пакеты ПО для тестирования стоят немалых денег

Применять «железные» тесты к облаку можно - но практическая польза от этого невелика

Можно ли применить «железные» тесты к облаку?

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

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

Принцип работы ВМ существенно отличается от привычного для пользователей физического оборудования. Если процессорное ядро физического компьютера однозначно локализуется на кристалле CPU, то в IaaS – это имитация квоты, выделенной из общей мощности облака. Эта виртуальная квота создается при помощи гипервизора. Каждому пользователю предоставляют заказанный объем ресурсов, но реальное состояние и статус облачной инфраструктуры все время изменяется:

  • при добавлении и удалении запущенных «инстансов» – абстракций сред выполнения, виртуальных машин;
  • после запуска и остановки работающих приложений;
  • за счет колебаний пользовательской загрузки;
  • во время выполнения бэкапов, восстановления данных.

Отличия между выделенным сервером и ВМ Различия в структуре физического CPU и виртуальной машины

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

Ответить на вопрос о применимости тестов для физического оборудования к облачным инфраструктурам можно так: применять «железные» тесты к облаку можно - но практическая польза от этого невелика.

Тестирования процессоров, памяти и дисков недостаточно для всесторонней оценки облака

Как тестировать облачные инфраструктуры?

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

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

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

Минимальный (и достаточный, в большинстве случаев) сценарий тестирования перед началом работы может выглядеть так:

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

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

  • SPEC Cloud (TM) IaaS 2016 Benchmark;
  • Hewlett Packard Enterprise StormRunner Load;
  • LoadStorm;
  • SOASTA CloudTest;
  • LoadImpact;
  • BlazeMeter;
  • SmartBear LoadComplete;
  • Spirent Blitz;
  • SendGrid Loader.

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

В любом случае, необходимо иметь продуманный план - сценарий подготовки и запуска измерений, сбора и получения результатов (бенчмарок). При этом, используется понятие SUT (System Under Test, система в состоянии тестирования) – набор обязательных компонентов для запуска сценария измерения. Этот набор включает в себя те компоненты облака, параметры которых интересуют пользователя и все остальные, без функционала которых не обойтись при тестировании и параметры которых должны быть известны заранее. Кроме того, пакет ПО содержит драйверы, имитирующие рабочую нагрузку для тестируемой инфраструктуры IaaS.

Облачный сервер

Облачный сервер

Узнайте больше про высокодоступное публичное облако SIM-Cloud

Читать про облачные серверы

В заключение

Для тестирования облака стоит использовать специализированные тесты, а не применять «железные» из-за существенных отличий в принципах их работы. Лучший способ оценить возможности облачной инфраструктуры – использовать тесты, которые симулируют реальную работу систем. Более того, недостаточно оценить производительность компонентов. На эффективность работы в облаке влияют другие факторы, которые не оценить при помощи аппаратного тестирования. Среди таких факторов – время ответа поддержки провайдера, отказоустойчивость, защита данных и т.д.

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

Выделенный сервер

Аренда “железных” серверов

Бизнес-серверы с надежными гарантиями SLA и поддержкой 24/7

Подобрать бизнес-сервер
Эта статья была полезной?

Тэги:

#облако

Понравилась статья?

Согласие на использование файлов cookie

Нажимая «Я согласен», вы даете согласие на использование cookie, чтобы предоставить вам релевантный опыт. Посетите «Управление cookie», чтобы дать ограниченное согласие. Подробнее

Настройки файлов cookie

Функциональные

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

Аналитические

Аналитические файлы cookie используются для понимания того, как посетители взаимодействуют с веб-сайтом.

Рекламные

Рекламные файлы cookie используются для предоставления посетителям релевантной рекламы и маркетинговых кампаний.